Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Написание обработчика OnTerminate   Найти похожие ветки 

 
_Freshman_   (2004-11-18 14:32) [0]

Добрый день, Мастера!
Подскажите, как определить обработчик для OnTerminate?
Ниже мой неправильный код, заранее спасибо.

...
TMyThread = class(TThread)
 private
   procedure OnTerminate(Sender: TObject);
...
constructor MyThread.Create;
begin
 inherited Create(false);
 FreeOnTerminate := true;
 inherited OnTerminate := OnTerminate;
end;
...
procedure TMyThread.OnTerminate(Sender: TObject);
begin
 ShowMessage("Сработало!");
end;
...


 
Digitman ©   (2004-11-18 14:46) [1]

TMyThread = class(TThread)
private
  procedure DoSomethingOnTerminate(Sender: TObject);
public
  constructor Create(CreateSuspended: Boolean);
...

constructor TMyThread.Create;
begin
//создание ПРИОСТАНОВЛЕННОГО потока (ВАЖНО !!!)
inherited Create(True);
//нехай объект сам себя по завершению уничтожает
FreeOnTerminate := true;
//назначим обработчик
OnTerminate := DoSomethingOnTerminate;
//а вот теперь, если конструктор был вызван с опцией немедленного старта потока после его создания,
//стартуем его.. в этот момент обработчик OnTerminate уже назначен и актуален

if not CreateSuspended then
  Resume;
end;
...
procedure TMyThread.DoSomethingOnTerminate(Sender: TObject);
begin
ShowMessage("Сработало!");
end;


 
_Freshman_   (2004-11-18 14:58) [2]

Спасибо!



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

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1101109577
Артем К.
2004-11-22 10:46
2004.12.05
Компонент TreeView, чтобы узел дерева имел несколько колонок?


1-1101145900
Dmitry_04
2004-11-22 20:51
2004.12.05
Подскажите пожалуйста по поводу модуля Menus


3-1099905186
denis24
2004-11-08 12:13
2004.12.05
разработка стр-ры бд


1-1101052041
lamerokvdelphi
2004-11-21 18:47
2004.12.05
Для чего нужен Sleep?


14-1100518286
fag2000
2004-11-15 14:31
2004.12.05
Подскажите софтитну для записи на диск музыки с интернет радио.