Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

зависание программы [WinXP]


anton773 ©   (2006-06-24 19:41:00) 

Приветствую всех! Такая проблема:Выполняю закачку файла при помощи wininet в отдельном потоке а главная форма все равно зависает.В чем могут быть грабли? Ведь отдельный поток для того и использут для того,чтобы не было зависаний.


Пусик   (2006-06-25 03:25:00) [1]

> anton773 ©   (24.06.06 22:03) [5]
> Разобрался! А как остановить поток?


Для того, чтобы ответить, надо знать, как ц тебя организована логика в поточной функции. В данном случае - метод Execute.


Zeqfreed   (2006-06-25 02:49:00) [2]

Я предпочитаю не останавливать и удалять потоки вручную, в просто в методе Execute потомка прописываю FreeOnTarminate := true, что обеспечивает освобождение объекта потока после выполнения метода.


Германн   (2006-06-25 02:37:00) [3]


> Разобрался! А как остановить поток?


Не помню откуда, но помню строку:
"Течёт вода из крана забытая заткнуть". OffTop.


anton773   (2006-06-24 22:03:00) [4]

Разобрался! А как остановить поток?


anton773   (2006-06-24 20:33:00) [5]


> Кажется WaitFor это ожидание завершения потока

А как правильно запустить поток? А то я уже замучился действовать методом "научного тыка"


anton773   (2006-06-24 20:33:00) [6]


> Кажется WaitFor это ожидание завершения потока

А как правильно запустить поток? А то я уже замучился действовать методом "научного тыка"


Dmitrij_K   (2006-06-24 20:11:00) [7]

Кажется WaitForэто ожидание завершения потока. Вот тут и весит


anton773   (2006-06-24 19:56:00) [8]

PS вот код создания потока (скорее всего сдесь непорядок):           procedure TForm2.N5Click(Sender: TObject);

begin
dm:= loader.Create(false);
dm.WaitFor;
dm.Free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо