![]() |
|
|
Регистрация | << Правила форума >> | 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 Ну ты понел ^_^. |