|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.07.2010, 08:52 | #1 |
Пользователь
Регистрация: 16.02.2009
Сообщений: 18
|
Synchronize() и события формы
доброго времени суток.
пишу чеккер проксей, столкнулся с такой проблемой... есть главный поток в котором ессно есть своя форма. в обработчике кнопки росположена процедура запуска новых потоков, общая сума которых не превышает 64шт. и вот в чем проблема когда поток отработал он должен в Memo1 расположенный на форме добавить строчку. но т.к. потоки создаются в кнопке таким образом threadCount = 0; int allIndex = 0; while(allIndex < all->Count) { if(threadCount < threadCountWaantably) // если потоков меньше чем допустимо, то создаем еще один { TcheckThread *check = new TcheckThread(true); // создаем экземпляр потока check->Priority = tpNormal; // приоритет потока check->config(all->Strings[allIndex], checkProxyHost); // передаем параметры для потока threadCount++; allIndex++; check->Suspended = false; // запускаем поток } Button1->Caption = IntToStr(threadCount) + "/" + IntToStr(threadCountWaantably); Button1->Refresh(); SleepEx(10, true); } то метот Synchronize() не может дождаться когда форма примет от него данные, и все потоки подвисают :-( как решить эту проблему с наименьшими усилиями? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как добавить события для элементов формы? | overflow | Общие вопросы .NET | 6 | 20.03.2010 22:21 |
События/Сообщения для формы в dll | spamer | Общие вопросы Delphi | 10 | 01.02.2010 22:32 |
Synchronize в DLL | AnomaliA | Общие вопросы Delphi | 12 | 29.09.2009 13:08 |
События формы | Shouldercannon | Общие вопросы Delphi | 10 | 13.01.2009 01:32 |
Создание события формы, доступного в Disign-time | Fausto | Компоненты Delphi | 4 | 06.06.2008 16:12 |