![]() |
AW: Fehler nach Schließen
ok, vielen Danke nochmal.
|
AW: Fehler nach Schließen
Man ruft eben nicht Destroy us, sondern Free. (sollte sogar in der OH erwähnt werden)
Zitat:
Delphi-Quellcode:
gehört in die DPR, sonst hat dieses woanders nicht unbedingt etwas zu suchen.
Application.CreateForm(TForm1,Form1);
>
Delphi-Quellcode:
oder
Form1 := TForm1.Create(Self);
Delphi-Quellcode:
Wobei ich dir dringend Empfehle diese globalen Variablen, wie FormE und Form1 garnicht zu verwenden.
Form1 := TForm1.Create(FormE);
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:
oder
Self.Free;
Delphi-Quellcode:
, aber eigentlich besser
Free;
Delphi-Quellcode:
oder
Self.Close;
Delphi-Quellcode:
schließt die Form.
Close;
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:
Man gibt Application nicht frei. :warn:
// Application.Destroy;
Application.Free; // ...kommt der gleiche Fehler Schau dir mal eine DPR an, wie se standardmäßig aussieht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 Uhr. |
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