Einzelnen Beitrag anzeigen

AuronTLG
Online

Registriert seit: 2. Mai 2018
Ort: Marburg
291 Beiträge
 
Delphi 12 Athens
 
#10

AW: Die Anweisung in [...] verwies auf Arbeitsspeicher bei [...]

  Alt 4. Dez 2024, 13:09
Zitat:
Wo wird das Anmeldeform erzeugt und angezeigt? Aus einem Event des Mainforms oder per Kode im DPR-File? Das ist vermutlich relevant da das von Application.Terminate gesetzte Flag erst greift, wenn Application.Run ausgeführt wird. Da kann dann noch so einiges ausgeführt werden nachdem das Anmeldeform geschlossen wurde.
Per Code im DPR File vor dem Application.Run. War in der vorigen Version aber genauso. Im ganzen DPR-File hat sich nichts Relevantes geändert.

Zitat:
Hey, nach dem was du beschreibst würde ich darauf tippen das ein anderer Thread nicht mitbekommen hat dass der Main Thread nicht mehr existiert und noch fröhlich Daten sendet.
Das kann immer passieren. Deshalb sollte jeder Thread ein ordentliches Fehlerhandling haben damit das nicht bis ins System durchrauscht.
Application.Terminate ist generell keine Lösung zum geregelten Beenden eines Programms.
Ich werde sicherheitshalber mal etwaige Threads überprüfen. Update: Zu diesem Zeitpunkt sind keine eigenen Threads am laufen.
Abgesehen davon, Terminate wird nur zum Schließen bei der Anmeldung verwendet, ansonsten läuft es über die Hauptform. Was wäre denn in diesem Fall die bessere Option? Terminate ist doch eine sehr sanfte Option zum codeseitigen Schließen des Programmes.

Geändert von AuronTLG ( 4. Dez 2024 um 13:41 Uhr)
  Mit Zitat antworten Zitat