Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi form wirklich beenden? wie? (https://www.delphipraxis.net/5640-form-wirklich-beenden-wie.html)

deadline 14. Jun 2003 08:21


form wirklich beenden? wie?
 
moinsen.
also ich bin eigendlich delphi-anfänger, also habt ein bisschen geduld mit mir.. *g*

nun zu meiner frage.. ich versuche eine form zu erstellen, die nach einer zeit eine zweite form startet... das mache ich mit dem timer, was auch gut funktioniert...

nun mein problem:
die erste form, aus der die zweite aufgerufen wird soll automatisch beendet werden..
ich habe es schon mit form.hide; versucht, aber sobald dann die 2. form offen ist und die erste verseckt ist, ist die erste ja noch unsichtbar aktiv und sobald ich das programm beende muss ich es nochmal mit strg+alt+entf wirklich beenden, da ja die erste form noch läut..

nun meiner frage... wie bekomme ich das hin, dass sich beim starten der 2. form die 1. automatisch beendet??


mfg.
deadline

Trouble_Maker 14. Jun 2003 08:47

Hallo Deadline:

es gibt noch eine einfachere Möglichkeit wie diese: (aber die fällt mir gerade nicht ein *gg*)

Also:
du kannst einfach in dein 2. Formular beim Schließen Button (oder Timer ...) application.terminate; schreiben.

Dann schließt er auch das erste Formular mit.

Hoffe ich habe dir geholfen


cu Trouble_Maker


PS: Musst halt dann noch beim 2. Formular bei FormActivate "form1.visible := false;" reinschreiben

Trouble_Maker 14. Jun 2003 09:02

hab nochn Tip für dich ...

damit du nicht aus versehen dein Formular mit dem Kreuz rechts oben schließt oder mit ALT+F4 und somit wieder mit STRG+ALT+ENF "arbeiten" musst...

kannst du folgenden code einbauen

Code:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose:=FALSE;
end;
damit verhinderst du dass dein Programm mit den oben beschriebenen Möglichkeiten geschlossen wird. Also nur über dein Button mit "application terminate".


cu Trouble_Maker

deadline 14. Jun 2003 09:12

Zitat:

Zitat von Trouble_Maker
hab nochn Tip für dich ...

damit du nicht aus versehen dein Formular mit dem Kreuz rechts oben schließt oder mit ALT+F4 und somit wieder mit STRG+ALT+ENF "arbeiten" musst...

kannst du folgenden code einbauen

Code:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose:=FALSE;
end;
damit verhinderst du dass dein Programm mit den oben beschriebenen Möglichkeiten geschlossen wird. Also nur über dein Button mit "application terminate".


cu Trouble_Maker




hmm.. danke erstmal, das klingt ja alles schonmal ganz gut, nur irgendwie is des auch noch nit das gelbe vom ei.. gibs es denn keine möglichkeit, dass automatisch application.terminate ausgeführt wird, wenn man auf das schliessen-symbol klickt oder das programm mit alt+f4 beendet



mfg.
deadline

Touchdown 14. Jun 2003 10:10

Du kannst das Formular mit Form1.free ganz aus dem Speicher hauen, womit es auf jedem Fall geschlossen wird. Könnte aber Probleme geben wenn es das Mainform der Anwendung ist, musste testen. Willst du es später wieder nutzen mach dir einfach eine neue Instanz der Formularklasse.

Basic-Master 14. Jun 2003 10:30

Form1.Destroy :nerd:

deadline 14. Jun 2003 10:33

Zitat:

Zitat von Basic-Master
Form1.Destroy :nerd:

nee.. das geht auch nicht.. ich habe das auch shcon versucht.. aber ich muss das project immer wieder nach dem beenden der form mit strg+alt+entf raushauen....
ich werde es jetzt auch nochmal mit form1.free; versuchen... mal sehn..


mfg
deadline


[B]EDIT:

das mit dem form1.free; geht auch nicht....
gibt es da denn keine möglichkeit??

deadline 14. Jun 2003 10:43

hmm.. alles klar.. hab mich grad nochmal gründlich mit dem form1.free; befasst.. es geht nur das problem ist, dass es auch garnicht die form1 dann anzeigt, obwohl es ja eigendlich erst in form2 steht und nur dafür sorgen sollte dass die form1 total beendet wird, nachdem die form2 sich gestartet hat....


mfg
deadline

Basic-Master 14. Jun 2003 11:22

hmm machs doch mit variablen: mach erst ne public-variable CC:boolean, im form-show-event machste cc := false; und im closequery machste canclose := cc; dann musste halt nur bevor du dein form schliessen willst folgenden code benutzen:
Delphi-Quellcode:
form1.cc := true;
form1.close;

Trouble_Maker 14. Jun 2003 11:40

Zitat:

Zitat von deadline
hmm.. alles klar.. hab mich grad nochmal gründlich mit dem form1.free; befasst.. es geht nur das problem ist, dass es auch garnicht die form1 dann anzeigt, obwohl es ja eigendlich erst in form2 steht und nur dafür sorgen sollte dass die form1 total beendet wird, nachdem die form2 sich gestartet hat....


hi wahrscheinlich hast du´s in das FormCreate von Form2 geschrieben! Dann ist das klar.
Du musst das in onActivate reinschreiben, dass erst wenn das 2te Fenster geöffnet wird das erste geschlossen wird.

cu Trouble_Maker


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr.
Seite 1 von 2  1 2      

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