Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Aus Form1 -> Form2 aufrufen -> Vorher Form1 schliessen (https://www.delphipraxis.net/125345-aus-form1-form2-aufrufen-vorher-form1-schliessen.html)

HolgerCW 4. Dez 2008 13:11


Aus Form1 -> Form2 aufrufen -> Vorher Form1 schliessen
 
Hallo zusammen,

wie kann ich aus Form1 -> Form2 aufrufen, aber vorher Form1 schliessen ?

Gruss

Holger

Namenloser 4. Dez 2008 13:14

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Delphi-Quellcode:
Form1.Close;
Form2.Show;
:gruebel:

Relicted 4. Dez 2008 13:14

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Entweder Form1 erst auf Hide, dann Form2 aufrufen und dann Form1 auf Close würd ich jetzt mal vermuten :-)
Notfalls mit ner "Verwaltungsklasse" die losgelöst ist von den 2 Forms.

Gruß
Reli

Sir Rufo 4. Dez 2008 13:15

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Delphi-Quellcode:
Form1.Close;
Form2.Show;
ich bin heute zu langsam :mrgreen:

DeddyH 4. Dez 2008 13:31

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Ist nur ungünstig, wenn Form1 das Hauptformular ist :mrgreen:

Sir Rufo 4. Dez 2008 13:34

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Man sollte nicht an dem Ast sägen auf dem man sitzt :mrgreen:

HolgerCW 4. Dez 2008 13:34

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Wenn man Form1.Close und danach Form2.Show macht, ist Form1 noch so lange geöffnet, bis Form2 geschlossen wird.

Form1 und Form2 sind zwei nicht das Hauptformular. ;)

Hat jemand eine andere Lösung ?

Gruss

Holger

Sir Rufo 4. Dez 2008 13:35

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
:wiejetzt:
Wenn du nur ein Show und kein ShowModal machst, dann ist Form1 weg!

HolgerCW 4. Dez 2008 13:40

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Folgendes:

Öffne Form1.ShowModal; (Wird von HauptForm gemacht)
Schliesse Form1.Close; (Wird auf Form1 gemacht)
Öffne Form2.ShowModal; (Wird auf Form1 gemacht)
Schliesse Form2.Close;

Ist es denn sichergestellt, wenn ich bei Form2 kein ShowModal nehme, das Form2 vor der Hauptform angezeigt wird ?

Gruss

Holger

Sir Rufo 4. Dez 2008 13:43

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Zitat:

Zitat von HolgerCW
Folgendes:

Öffne Form1.ShowModal; (Wird von HauptForm gemacht)
Schliesse Form1.Close; (Wird auf Form1 gemacht)
Öffne Form2.ShowModal; (Wird auf Form1 gemacht)
Schliesse Form2.Close;

Ist es denn sichergestellt, wenn ich bei Form2 kein ShowModal nehme, das Form2 vor der Hauptform angezeigt wird ?

Gruss

Holger

Warum denn nicht alles von der HauptForm aus? ShowModal wartet doch bis das Form geschlossen wird!
Das ist auch der Grund, warum dein Form1 noch bestehen bleibt :mrgreen:

mkinzler 4. Dez 2008 13:43

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Delphi-Quellcode:
 Form1.Close;
Besser .ModalResult setzen.

Sir Rufo 4. Dez 2008 13:45

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Zitat:

Zitat von mkinzler
Delphi-Quellcode:
 Form1.Close;
Besser .ModalResult setzen.

Würd ihm in dieser Konstellation aber auch nicht helfen. Form2.ShowModal zwingt das Form1 so lange zu bleiben bis Form2 geschlossen wird.

HolgerCW 4. Dez 2008 13:50

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Also wenn ich Form1 mit ShowModal öffne und Form2 mit Show müsste es klappen ?

Dann müsste ich Form2 auf FormStyle = "fsStayonTop" setzen und es ist gewährleistet das es vorne ist, richtig ?

Sir Rufo 4. Dez 2008 14:03

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
ja, äh, wohl auch, aber besser ist es doch, das ganze im Hauptfenster zu machen
Delphi-Quellcode:
Form1.ShowModal; // <--- hier geht es erst weiter wenn Form1 geschlossen wurde
Form2.ShowModal;
cu

Oliver

HolgerCW 4. Dez 2008 16:05

Re: Aus Form1 -> Form2 aufrufen -> Vorher Form1 schlie
 
Hi,

habe es jetzt so umgebaut, das beide Formen von der hintereinander von Hauptform aufgerufen werden. Ist nun sauber.

Danke nochmal an alle

Gruss

Holger


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 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