Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.286 Beiträge
 
Delphi 12 Athens
 
#8

Re: Fehlermeldung "Element hat kein übergeördnetes Fens

  Alt 18. Feb 2009, 11:09
wie gesagt, DoThread wird noch aufgerufen, nachdem das Fenster schon weg ist ... und dort entsteht auch die Exception.

PS:
das ist schon "kraß"
while (true) and (Terminated = false) do (true) ?
ja und dann wird es hier auch immer wieder gesagt: prüfe nicht auf True und False
while not Terminated do @DeddyH: selbes System, aber ich hab Fehler (im Debugger gestartet)


[add]
also entweder prüfst du in .DoThread ob das das Fenster noch existiert und greifst dann nicht darauf zu,

oder die einfach Lösung für diesen Fall:
Delphi-Quellcode:
procedure TThreadForm1.Button1Click(Sender: TObject);
begin
  Th1.Terminate;
  Th2.Terminate;
  Th3.Terminate;
                                //while not (alle_threads_beendet) do begin
  Sleep(100); // Sleep(10);
  Application.ProcessMessages; // Application.ProcessMessages;
                                //end;
  Close;
end;
hier würde sich dann aber eine Schleife besser eignen, welche vor Close; drauf wartet, daß alle Thread beendet wurden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat