Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Thread, Beendigung, IDE

  Alt 1. Sep 2015, 13:21
Eine Patentlösung habe ich nicht. Ich mache es mir da einfach und implementiere es einfach nur richtig und schon funktioniert es:
Delphi-Quellcode:
TFooThread = class( TThread )
private
  FChair : TChair; // da setzt sich der Thread drauf
protected
  procedure Execute; override;
public
  constructor Create;
  destructor Destory; override;
end;

procedure TFooThread.Execute;
begin
  while not Terminated do
    FChair.SitDown(); // exessive Verwendung der TChair-Instanz
end;

constructor TFooThread.Create;
begin
  FChair := TChair.Create; // bevor irgendwas losläuft, erzeugen wir die TChair-Instanz
  inherited Create( False ); // der Thread selber wird erzeugt
end;

destructor TFooThread.Destroy;
begin
  // Der Thread kann jetzt noch aktiv sein,
  // darum dürfen wir ihm jetzt nicht den Stuhl unter dem Hintern wegziehen
  inherited;
  // Jetzt ist der Thread gesichert beendet
  // und nun kann die TChair-Instanz bedenkenlos aufgeräumt werden
  FChair.Free;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat