![]() |
mehrer Formulare schließen
Hi,
ich hatte vor ein par Tagen einen Passwortgenerator geschrieben, welcher auch gut funktioniert, allerdings möchte ich jetzt einen Passwortmanager "drumherum schreiben"... Mein (erstes) Problem ist allerdings, dass ich noch nie mit zwei oder mehr Formularen gearbeitet habe, was ich jetzt machen möchte, hab auch alles soweit geschafft, allerdings scheitere ich daran, dass wenn ich Formular A schließe auch gleichzeitig Formular B geschlossen werden soll (bekomme immer einen Stack Überlauf). Aber wenn der Benutzer auf das "x" bei Formular B klickt soll dieses nur Invisible werden und Formular A erscheinen. Ich postet mal meinen bisherigen Quellcode: Formular A heißt bei mir 'Hauptfenster' Formular B 'Generator' Quellcode von Hauptfenster:
Delphi-Quellcode:
Quellcode von Generator:
procedure THauptfenster.Button1Click(Sender: TObject);
begin Hauptfenster.Visible := False; Application.CreateForm(TGenerator, Generator); Generator.Visible := True; end; procedure THauptfenster.FormActivate(Sender: TObject); begin // Generator.Visible := False; end; procedure THauptfenster.FormClose(Sender: TObject; var Action: TCloseAction); begin Generator.Caption := 'Schließen'; Generator.Visible := True; Generator.Destroy; // Generator.Close; // Hauptfenster.Close; end;
Delphi-Quellcode:
Danke schonmal im Voraus, ich hoffe eu ist mein Problem klargeworden^^
procedure TGenerator.FormCloseQuery(Sender: TObject;
var CanClose: Boolean); begin if Generator.Caption = 'Passwortgenerator' then begin CanClose := False; Generator.Visible := False; Hauptfenster.Visible := True; end else CanClose := True; end; |
Re: mehrer Formulare schließen
Zitat:
Delphi-Quellcode:
...
Form1.Show; Form2.Hide; Zitat:
Delphi-Quellcode:
Das ist ganz simpel und ich find das besser als wenn du das mit diesem "visible := true" etc machst ;)
..
Form1.Close; Form2.Close; Ich hoffe das hilft dir |
Re: mehrer Formulare schließen
Und niemals Destroy direkt aufrufen, da nimmt man Free ;)
|
Re: mehrer Formulare schließen
Zitat:
|
Re: mehrer Formulare schließen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
Re: mehrer Formulare schließen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habs mal umgearbeitet. Du musst schlichtweg das Hauptformular auch als Hauptformular in den Projekt-Optionen einstellen. Das andere kannst du dem Code entnehmen.
Übrigens, woher der Stacküberlauf kam, hab ich auf die Schnelle auch nicht rausgefunden ;) |
Re: mehrer Formulare schließen
Zitat:
Da hab ich's mir ja mal echt zu kompliziert gemacht :wall: Danke. :hello: |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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 by Thomas Breitkreuz