Delphi: Form1 schließen ohne Form 2 zu schließen?

2 Antworten

Hi,

ich würde es so machen:

Du erstellst das 2. Formular, zeigst es an und startest im OnShow des 2. Formulars einen Timer. Bei Ende des Timers wird Formular 1 geschlossen. Du solltest mit einem FirstShow-Flag dafür sorgen, dass das nur beim ersten Anzeigen von Formular2 passiert.

Gruss, dj

  • Das Hauptformular (meist Form1) steuert die Applikation. Wenn das Hauptformular geschlossen wird, wird auch die Applikation beendet und damit alle anderen Fenster geschlossen. Man kann also nicht einfach so Form1 schließen, ohne dass das Programm beendet wird.
  • Die normale Lösung dafür ist, dass man Form1.Hide; nutzt und Form1 einfach nur unsichtbar macht. Für den Nutzer ist das kein spürbarer Unterschied. Alternativ kannst Du auch statt Form1.Hide einfach Form1.Visible := False; verwenden. Das ist letztlich das Gleiche.
  • Wieder einblenden kannst Du dann mit Form1.Show oder mit der Kombination Form1.Visible := True; Form1.BringToFront;