![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Напишите пожалуйста пример.
|
|
#2
|
||||
|
||||
|
Код:
procedure TForm1.FormCreate(Sender: TObject); var tt: TThread; begin tt.OnTerminate:=FormCreate; end; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
SpectraL (14.03.2015)
| ||
|
#3
|
||||
|
||||
|
Чего не хватает в следующем коде?
Код:
unit Unit2;
interface
uses
{модули};
type
TThread1 = class(TThread)
protected
procedure Execute; override;
procedure DoTerminate1;
end;
var
Thread1: TThread1; // поток создаётся в TForm1.FormCreate
implementation
procedure TThread1.Execute;
begin
Thread1.OnTerminate := Thread1.DoTerminate1;
{операторы}
end;
procedure TThread1.DoTerminate1;
begin
{операторы}
end;
end.Последний раз редактировалось SpectraL, 14.03.2015 в 18:55. |
|
#4
|
||||
|
||||
|
см. 2-е сообщение
|
|
#5
|
||||
|
||||
|
Еды что ли не хватает?
|
|
#6
|
||||
|
||||
|
Пожалуйста скажите я в отчаинии.
|
|
#7
|
||||
|
||||
|
Событие OnTerminate используется следующим образом:
Код:
unit Unit2;
interface
uses
{модули};
type
TThread1 = class(TThread)
protected
procedure Execute; override;
procedure DoTerminate; override; // объявляем процедуру события OnTerminate
end;
var
Thread1: TThread1; // поток создаётся в TForm1.FormCreate
implementation
procedure TThread1.Execute;
begin
{операторы}
end;
procedure TThread1.DoTerminate; // процедура события OnTerminate
begin
{операторы}
end;
end.Последний раз редактировалось SpectraL, 15.03.2015 в 11:15. |
|
#8
|
||||
|
||||
|
абсолютно не правильно!!! DoTerminate является виртуальным методом и вызывается после Execute. событие OnTerminate вызывается внутри DoTerminate и выполняется в основном потоке.
|
|
#9
|
||||
|
||||
|
Цитата:
1. в дополнительном потоке; 2. после завершения процедуры Execute, т.к. DoTerminate изначально связана с OnTerminate, которую нет необходимости вызывать. Последний раз редактировалось SpectraL, 15.03.2015 в 13:48. |
|
#10
|
||||
|
||||
|
Какого вам еще надо? Сам спросил сам ответил что ли? Вопрос правильно сформулируй. Ходют тут всякие...
Во втором сообщении тебе ответ. РС: хочешь правильный ответ - задавай правильный вопрос. |
|
#11
|
||||
|
||||
|
Цитата:
4250 |