Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Form1 schließen dann Form2 anzeigen


JeanvanHees - Di 20.08.02 10:15
Titel: Form1 schließen dann Form2 anzeigen
:oops: Ich bin nur seit kurzem mit delphi am programmieren und hab noch kein buch drüber...also hier eine blöde frage über ein visuelles aspect von delphi:
Ich möchte von einem form nach eine andere überspringen.
Wie kann ich form 1 schließen ohne das project zu stoppen. :oops:

Titel geändert. Siehe Richtlinien! TINO


toms - Di 20.08.02 10:21

Hi,

Wenn du die 1. Form schliesst, wird die ganz Applikation beendet.
Du könntest aber die 1. Form mit Form1.Hide verstecken und
dann die 2. From mit Form2.Show anzeigen.

tom


JeanvanHees - Di 20.08.02 10:27
Titel: danke aber...
Das ist logisch, aber wie schließe ich das project dann?


Arakis - Di 20.08.02 10:34

Am einfachsten geht es hiermit:

Quelltext
1:
Application.Terminate;                    


Bis dann
user defined image


JeanvanHees - Di 20.08.02 10:39
Titel: Danke
Dankeschön :D


toms - Di 20.08.02 10:59

Zitat:
Application.Terminate;


Etwas sanfter geht's mit: HauptForm.Close.

Unterschiede zwischen Close/ Application.Terminate / Halt

Close() schliesst die aktuelle Form. Wenn die aktuelle Form
das Hauptformular ist (oder Close von der Hauptform aufgerufen wird), wird die gesamte Anwendung geschlossen.
Dies ist eigentlich die normale Methode, eine Anwendung zu
beenden. Denn sowohl die OnCloseQuery und OnClose Ereignisse der Form werden dann ausgelöst. Auch der Code in der Finalization
Sektion wird ausgeführt.

Application.Terminate verursacht, dass die Nachrichtenschleife
der Applikation beendet wird und es werden alle Formulare "zerstört".
Sowohl die OnCloseQuery und OnClose Ereignisse der Form werden dann <i>nicht</i> ausgelöst, OnDestroy aberschon.
Auch der Code in der Finalization Sektion wird ausgeführt.

Halt() ist die brutalste Methode, eine Applikation zu beenden.
Es verwendet ExitProcess() um den Prozess zu beenden, ohne
sich darum zu kümmern, Form-Objekte freizugeben.
Keine der Ereignisse OnCloseQuer/ OnClose/ OnDestroy werden ausgelöst. Der Code in der Finalization wird aber ausgeführt.
Mit Halt() sollte eine GUI-Anwendung nie beendet werden,
ausser wenn's anders nicht mehr geht.


JeanvanHees - Di 20.08.02 11:40

Danke fur die info mr. Tom :D


Tino - Di 20.08.02 12:31

Hab es mal in die FAQ [http://www.auq.de/viewtopic.php?p=7268] eingetragen.

Gruß