в данном примере (http://forum.vingrad.ru/forum/topic-163841.html) исп. след код для события OnTerminate
| Код | procedure TForm1.EventMyThreadOnTerminate (Sender :tObject); begin
// На всякий случай, убедимся что экземпляр объекта еще существует if not Assigned(MyThread) then Exit; // если его нет, то и делать нечего
// Еще раз замечу - не уничтожим объект, а только затрем ссылку. Объект // уничтожится сам! MyThread := Nil; end;
|
Можно ли описывать OnTerminate в самом потоке, например, так:
| Код | procedure tPotok.execute; begin potok[TT].OnTerminate:= ThreadDone; GetIt:=TIdHttp.create(nil); ... ...
|
и само событие
| Код | procedure tPotok.ThreadDone(Sender: TObject); begin if not Assigned(potok[TT]) then Exit; potok[TT]:= nil; end;
|
Либо если нельзя, то как передать в procedure TForm1.EventMyThreadOnTerminate (Sender :tObject); объект, нужно затереть если он описан в виде массива потоков, т.е. potok[i].OnTerminate
Спасибо! |