Forum: Programmieren allgemein
Delphi
by Alex_ITA01,
8. Apr 2014
Hallo,
wollte nur Bescheid sagen, dass ich mir die Debug-DCUs angemacht habe und dann nach dem FormClose weiter durchdebuggt habe was passiert in den Delphi-Units.
Problem war, dass danach ein anderes Formular des Projektes freigegeben wurde und da war im FormDestroy noch ein ungeschützter Zugriff auf ein ThreadObjekt, welches ja vorher im FormClose vom MainForm bereits freigegeben wurde.
...
Forum: Programmieren allgemein
Delphi
by Alex_ITA01,
5. Apr 2014
Wenn der Thread sich nicht beenden würde, dann würde ich aus meiner Procedure ja nicht raus kommen die auf die Beendigung der Threads wartet. Ich schicke ja wie gesagt erst das Terminate per Message an jeden Thread, da diese beim Beenden evtl. noch irgendwelche letzten Aufgaben erledigen müssen. Sobald sie dann die empfangene Message in der Queue empfangen (WM_Terminate), rufe ich Terminate auf...
Forum: Programmieren allgemein
Delphi
by Alex_ITA01,
5. Apr 2014
Ich schicke an alle Threads ein Terminate per Message und wenn diese mir das zurückmelden (wird im Terminate eine variable gesetzt), dann erkenne ich damit, dass dieser beendet ist. FreeOnTerminate ist False bei allen und wenn die dann eben beendet sind, mache ich noch ein FreeAndNil des Threads.
Forum: Programmieren allgemein
Delphi
by Alex_ITA01,
5. Apr 2014
Hallo Delphianer,
ich versuche mal mein Problem zu beschreiben.
Ich habe ein relativ großes Projekt von Delphi 2006 nach XE4 portiert.
Hat auch alles soweit geklappt nur eine Sache funktioniert nicht sauber.
Nämlich das Anwendung beenden.
Beim Runterfahren der Anwendung (FormClose) wird eine Prozedure aufgerufen, welche alle Threads und Speicherobjekte freigeben soll. Diese Funktion kehrt...