Einzelnen Beitrag anzeigen

quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#19

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

  Alt 18. Feb 2009, 11:56
Ich habe in meinen Execute-Methoden meiner Threads oft in der Schleife eine Variable, die ich von außen setzen kann.
while CanRun do Und im Hauptprogramm
Delphi-Quellcode:
Thread.CanRun := False;
Thread.Terminate;
Thread.WaitFor;
Und gewöhn dir mal ab, auf False und True abzufragen sondern nutze logische Operatoren wie NOT, AND, OR usw.

Also bei dir
while (not Th1.Beendet) and (not Th2.Beendet) and (not Th3.Beendet) do Vielleicht solltest du dir auch überlegen anstatt auf Beendet abzufragen ob er noch laufen darf, dann musst du nicht immer alles negiert denken. Das macht es auch einfacher ...

Und du solltest auch strikt VCL und Threads voneinander trennen. Die Threads machen keinen Sinn wenn du andauernd über Synchronize auf den Mainthread zugreifst.
Einfach wie himitsu sagt, dafür sorgen das die Threads beendet werden, bevor das Fenster beendet wird.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat