Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2008, 06:01   #1
EdNovice
Пользователь
 
Регистрация: 13.04.2007
Сообщений: 65
По умолчанию Метод Synchronize класса TThread

В отдельном потоке каждую секунду для определения текущих сетевых сессий вызываю NetSessionEnumNT. И если кто нибудь подключился вывожу список в ListView главной формы. Определил метод в своем классе потока (где идет работа с ListView) и указываю его в качестве параметра при вызове метода Synchronize.
При вызове метода Synchronize программа виснет!
В чем дело?
Заранее благодарен!
EdNovice вне форума Ответить с цитированием
Старый 03.07.2008, 06:16   #2
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

создание потока? метод execute?
Ring0Sn вне форума Ответить с цитированием
Старый 03.07.2008, 08:21   #3
EdNovice
Пользователь
 
Регистрация: 13.04.2007
Сообщений: 65
По умолчанию

да...в методе Execute бесконечны цикл:
while not teminated do
begin
NetSessionEnum(...);
Synchronize(UpdateListView);
sleep(1000);
end;
EdNovice вне форума Ответить с цитированием
Старый 03.07.2008, 08:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
В чем дело?
Код в студию.

P.S. никогда не использую борландовские триады - имхо криво разработанные. Лучше чем АПИшная постановка потоков в винде еще не придумали.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.07.2008, 08:44   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код в студию.

P.S. никогда не использую борландовские триады - имхо криво разработанные. Лучше чем АПИшная постановка потоков в винде еще не придумали.
Сколько юзаю TThread с сокетами, все замечательно работает
BOBAH13 вне форума Ответить с цитированием
Старый 03.07.2008, 09:19   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
BOBAH13
Дело вкуса
Цитата:
Synchronize(UpdateListView);
И что делает эта UpdateListView?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.07.2008, 09:23   #7
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
И что делает эта UpdateListView?
Вешает прогу
EdNovice, выкладывай поностью реализацию потока, а то так несовсем ясно что почем...
Ring0Sn вне форума Ответить с цитированием
Старый 03.07.2008, 09:28   #8
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Может в цикле надо написать application.processmessage и в uses Forms добавить ЗЫ не помню как точно пишется, я с сотика просто
Simply-Art вне форума Ответить с цитированием
Старый 03.07.2008, 09:36   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вешает прогу
ШутникЪЪЪ
Цитата:
EdNovice, выкладывай поностью реализацию потока
Еще лучше полностью прогу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.08.2008, 17:59   #10
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Не знаю, наверное не в тему...
Я хочу что бы у меня программа не зависала когда я использую TIdHTTP, поэтому я его запихал в поток. Но это почему-то не помогает и она все равно подвисает на время загрузки... Я что-то не так делаю?
komex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание класса Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 31.05.2008 11:54
Экспорт класса из ДЛЛ SunKnight Общие вопросы Delphi 2 21.05.2008 19:31
использование TThread amandra Общие вопросы Delphi 6 03.05.2008 03:13
Stack owerflow - глюки с TThread IOrist Общие вопросы Delphi 4 11.11.2007 09:13
Как отследить завершение выполнения потока TThread? Трик Общие вопросы Delphi 3 24.10.2007 14:55