Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Вниз

TThread как правильно запускать???? help!!!   Найти похожие ветки 

 
angel2000   (2003-10-23 19:45) [0]

Быть может повторюсь, но
вопрос для меня остался открытым - как мне
сделать так чтобы при кнопке старт у меня в TThread
запускался Execute а при нажатии другой кнопки останавливался????


 
Palladin   (2003-10-23 19:53) [1]

быть может заглянув в справку по поводу TThread ты надешь много интересных методов и свойств...


 
angel2000   (2003-10-23 19:55) [2]

в справку я уже смотрел - просто хотел все-таки более конкретно спросить


 
Palladin   (2003-10-23 20:14) [3]

Ну и что ты там высмотрел, расскажи нам.


 
panov   (2003-10-23 20:25) [4]

см. методы suspend и resume


 
angel2000   (2003-10-23 20:31) [5]

по факту - есть какая то предположим переменная (булевая)
предположи м через кнопку старт мы присвоили ей true -
как мне это параметр передать в поток чтобы потом через
if можно было бы обрабатывать поток?


 
Юрий Зотов   (2003-10-23 20:43) [6]

Вот пример схемы.

Создание:
FThread := TMyThread.Create(True);
FThread.FreeOnTerminate := True;

Запуск:
FThread.Resume;

Пауза:
FThread.Suspend;

Остановка:
with FThread do
begin
Terminate;
if Suspended then Resume
end;

Процедура потока:
procedure TMyThread.Execute;
begin
while not Terminated do
begin
...
end
end;

Если в Execute не требуется цикл, то в нем надо просто периодически проверять Terminated:
if Terminated then Exit;
Обычно такую проверку ставят между логически законченными операциями, в тех местах где поток можно безболезненно прервать.


 
zapped   (2003-10-23 20:47) [7]

2 [5]
по факту ;)) - перекрыть конструктор TThread своим и передавать какие угодно параметры :)), например, указатель на переменную, значение которой можно менять вне потока. Это в общем случае.
Также можно в потоке проверять (думается... раз булевая) значение глобальной переменной, или же добавить свойство к своему потоку, значение которого (свойства) можно менять в другом месте программы...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
3-8296
Igor_RIM
2003-10-13 16:32
2003.11.03
IBEvents в внешняя dll


8-8554
Илья
2003-07-03 12:49
2003.11.03
Работа со звуком.


14-8644
Gorlum
2003-10-14 15:03
2003.11.03
Спрайты


1-8520
Переяслов Григорий
2003-10-24 16:44
2003.11.03
---|Ветка была без названия|---


7-8683
IntLex
2003-08-16 04:19
2003.11.03
Вызов свойств





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский