Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: TEvent.free im Thread Destructor?

  Alt 21. Mai 2014, 15:05
So ist es richtig und ausreichend:
(Ich habe mir erlaubt aus MyEvent ein FMyEvent um zu verdeutlichen, dass es sich um ein Feld der Klasse handelt)
Delphi-Quellcode:
procedure TMyThread.TerminatedSet; // Erst ab XE? jedenfalls gibt es das nicht in D2007
begin
  inherited;
  FMyEvent.SetEvent;
end;

Procedure TMyThread.Execute;
begin
  While not Terminated do
   begin
     FMyEvent.WaitFor(infinite);
     if not(Terminated) then
       begin
         // Mach was schlaues...
       end;
   end;
end;

Destructor TMyThread.destroy;
begin
  Inherited;
  FMyEvent.Free; // NACH INHERITED!!!!!! Stimmt hab ich auch gefunden!
end;
s.o.
  Mit Zitat antworten Zitat