AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

mehrer Formulare schließen

Ein Thema von Tarry · begonnen am 24. Nov 2007 · letzter Beitrag vom 24. Nov 2007
Antwort Antwort
Tarry

Registriert seit: 6. Nov 2007
123 Beiträge
 
#1

mehrer Formulare schließen

  Alt 24. Nov 2007, 11:23
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:
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;
Quellcode von Generator:
Delphi-Quellcode:
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;
Danke schonmal im Voraus, ich hoffe eu ist mein Problem klargeworden^^
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein

Probiere doch mal mein Wecker aus
--> http://tarry91.quotaless.com/index.html
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#2

Re: mehrer Formulare schließen

  Alt 24. Nov 2007, 11:43
Zitat von Tarry:
Aber wenn der Benutzer auf das "x" bei Formular B klickt soll dieses nur Invisible werden und Formular A erscheinen.
Mach das einfach so:
Delphi-Quellcode:
...
Form1.Show;
Form2.Hide;
Zitat von Tarry:
allerdings scheitere ich daran, dass wenn ich Formular A schließe auch gleichzeitig Formular B geschlossen werden soll (bekomme immer einen Stack Überlauf).
Delphi-Quellcode:
..
Form1.Close;
Form2.Close;
Das ist ganz simpel und ich find das besser als wenn du das mit diesem "visible := true" etc machst
Ich hoffe das hilft dir
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

Re: mehrer Formulare schließen

  Alt 24. Nov 2007, 11:48
Und niemals Destroy direkt aufrufen, da nimmt man Free
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: mehrer Formulare schließen

  Alt 24. Nov 2007, 11:49
Zitat von Progman:
Und niemals Destroy direkt aufrufen, da nimmt man Free
oder FreeAndNil(Instanz);
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Tarry

Registriert seit: 6. Nov 2007
123 Beiträge
 
#5

Re: mehrer Formulare schließen

  Alt 24. Nov 2007, 11:54
Zitat von BullsEye:
Mach das einfach so:

Delphi-Quellcode:
..
Form1.Close;
Form2.Close;
Das ist ganz simpel und ich find das besser als wenn du das mit diesem "visible := true" etc machst
Ich hoffe das hilft dir
Hab ich ja als erstes versucht, aber auch dann hab ich einen Stack Überlauf bekommen, ich hänge mein Projekt einfach mal an, vielleicht liegt der Fehler auch bei ner ganz anderen Stelle.
Angehängte Dateien
Dateityp: zip passwortgenerator_197.zip (218,3 KB, 4x aufgerufen)
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein

Probiere doch mal mein Wecker aus
--> http://tarry91.quotaless.com/index.html
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

Re: mehrer Formulare schließen

  Alt 24. Nov 2007, 12:16
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
Angehängte Dateien
Dateityp: zip passwortgenerator_552.zip (230,3 KB, 5x aufgerufen)
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Tarry

Registriert seit: 6. Nov 2007
123 Beiträge
 
#7

Re: mehrer Formulare schließen

  Alt 24. Nov 2007, 12:24
Zitat von Progman:
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
D A N K E !
Da hab ich's mir ja mal echt zu kompliziert gemacht
Danke.
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein

Probiere doch mal mein Wecker aus
--> http://tarry91.quotaless.com/index.html
  Mit Zitat antworten Zitat
24. Nov 2007, 13:48
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz