Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Fehler nach Schließen (https://www.delphipraxis.net/159868-fehler-nach-schliessen.html)

Theo1994 16. Apr 2011 12:03

AW: Fehler nach Schließen
 
ok, vielen Danke nochmal.

himitsu 16. Apr 2011 13:07

AW: Fehler nach Schließen
 
Man ruft eben nicht Destroy us, sondern Free. (sollte sogar in der OH erwähnt werden)

Zitat:

Delphi-Quellcode:
FormE.Destroy; //Eingabe-Formular schließen
Form1.Show;

Sowas
Delphi-Quellcode:
Application.CreateForm(TForm1,Form1);
gehört in die DPR, sonst hat dieses woanders nicht unbedingt etwas zu suchen.
>
Delphi-Quellcode:
Form1 := TForm1.Create(Self);
oder
Delphi-Quellcode:
Form1 := TForm1.Create(FormE);
Wobei ich dir dringend Empfehle diese globalen Variablen, wie FormE und Form1 garnicht zu verwenden.

Innerhalb einer Komponente nutzt man nicht die externe Variable, also innerhalb der Methoden von TFormE wird nicht FormE verwendet. höchstens Self oder man läßt es weg, wenn möglich.



So und nun zum Problem.
Wie dir schon gesagt wurde, wird das Programm beendet, wenn man die Hauptform schließt.

FormE ist deine Hauptform, da sie als erstes Erzeugt und bei Application angemeldet wurde.
FormE.Destroy;
Delphi-Quellcode:
Self.Free;
oder
Delphi-Quellcode:
Free;
, aber eigentlich besser
Delphi-Quellcode:
Self.Close;
oder
Delphi-Quellcode:
Close;
schließt die Form.

Schließen = Close
Zerstören = Destroy
Freigeben = Free

So, nun gibst du also die Hauptform frei, welches intern auch alle, bei Application registrierten, Forms schließt/freigibt.
Somit vrschwindet nun auch Form1, weswegen nun Form1.Show nicht klappen kann, aber bei dir durch einen Fehler doch zufäälig mal halbwegs gut geht.

Delphi-Quellcode:
// Application.Destroy;
Application.Free; // ...kommt der gleiche Fehler
Man gibt Application nicht frei. :warn:

Schau dir mal eine DPR an, wie se standardmäßig aussieht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz