Вниз
Скачать: CL | DM;

многопоточный компонент?   Найти похожие ветки 

 
V.V.   (2003-04-06 09:04) [0]

Я создаю свою компоненту от TComponent и в ней есть одна процедура, которая гоняет цикл до тех пор, пока ее не остановят,
т.е. извне требуется послать команду Stop. Как это лучше сделать и если можно пример. Заранее благодарен.


 
Юрий Зотов ©   (2003-04-06 11:08) [1]

Способ 1.
Если эта процедура никак не связана с сообщениями, то можно динамически породить поток. Соответственно, потребуется метод Terminаte, который будет вызывать Terminate потока.

Способ 2.
Можно ввести событие, возбуждать его в цикле и в зависимости от результата либо продолжать цикл, либо нет.


 
V.V.   (2003-04-07 09:30) [2]

Спасибо за советы, особенно за второй способ, я о таком даже не подумал, хотя мне кажется, что доверить пользователю останов цикла из событий... он просто не догадается :) но все равно интерестно...
Правда, я уже и сам нашел решение: как в Вашем 1 способе. Кстати, у меня меня действительно используются сообщения и события внутри этого цикла, поэтому я использую Synchronize и вроде все выводит, по крайней мере на этапе отладки (без инсталяции компонента).
Еще раз спасибо за отклик...



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
4-54946
Long
2003-02-17 18:15
2003.04.17
Как с помощью WinAPI создать окно с кнопкой


1-54696
ruslan_as
2003-04-04 17:20
2003.04.17
Как в DBGride работать с несколькими выделеными строками


4-54953
children
2003-02-18 20:56
2003.04.17
командная строка


14-54857
kravchuk
2003-04-01 18:26
2003.04.17
compiler magic


14-54814
Nikolai_S
2003-03-29 11:59
2003.04.17
Создание ссылки на веб-сайт в справке




   Наверх