Einzelnen Beitrag anzeigen

Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#16

AW: Anwendung ausserhalb des Hauptfensters beenden

  Alt 28. Apr 2011, 10:04
[...] action=canone, dann Objekte freigeben, action =cafree [...]
Das Zuweisen von caNone ist sinnlos, denn der Wert den man zuweist wird logischerweise erst nach dem verlassen des Events ausgewertet - somit nach allem, was man darin schreibt, egal wann und welchen Wert man Action zuweist

Warum ist das nicht so gut?
Bei der Hauptform fällt das nicht auf, weil Delphi beim schließen ja automatisch die Anwendung beendet.
Aber bei anderen schon: Die Form wird erzeugt - wenn man nichts ändert von Delphi automatisch. Dabei wird OnCreate aufgerufen: Du erzeugst deine Objekte. Jetzt schließt man die Form (entweder per Code ".Close" oder der Nutzer macht es mit "X", etc.) und das Event OnClose wird aufgerufen: Du gibst die Objekte frei. Die Instanz der Form ist aber noch da, wird eben nur nicht angezeigt. Wenn man sie jetzt mit .Show wieder anzeigt, wird natürlich nur das Event OnShow ausgelöst und nicht noch einmal OnCreate. Somit hast du dann eine Form mit nicht existierenden Objekten.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat