Форум: "Основная";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];
ВнизTThread: как вызвать его метод из основного потока и не ждать его Найти похожие ветки
← →
lipskiy (2002-04-05 01:33) [10]Воткнул я таймер, все работает.
А почему, собственно оно не должно было работать?
Таймер типа TTimer создается вместе с польз. потоком и вместе с ним уничтожается, пока выполняется Execute таймер работает и проверяет флажки, если флажок изменился - обрабатывет его.
Не знаю, может чего и некорректно, но глюков нет, все выполняется как задумано во всех режимах.
По таймеру, собственно, выполняется прерывание обновления, более-то и ничего. То есть завершение потока. Но просто Terminate вызвать нельзя, так как после разрыва связи необходимо завершить корректно некоторые действия в потоке, и данные этих действий описаны локально в Execute, поэтому в OnTerminate их тоже нельзя выполнять. Нужно просто перенаправить управление внутри Execute в другую ветку, ну то есть перейти по goto на блок финализации моего обновления.
Не знаю, все ок работает.
Цикл - как его можно сделать, если нет циклических операций :)
Ну просто их нет!
К тому же сама закачка данных осуществляется сторонним компонентом TDialUp, который в свою очередь также создает себе отдельный поток.
Данные закачиваются разрозненные, разноформатные, с разных ссылок и кладутся в разные каталоги, имеют совершенно разные объемы, так что никакого цикла тут не сделаешь, как ни крути.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c