AGB  ·  Datenschutz  ·  Impressum  







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

Formen öffnen und schließen

Ein Thema von otto06 · begonnen am 8. Mär 2009 · letzter Beitrag vom 22. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
otto06
(Gast)

n/a Beiträge
 
#1

Formen öffnen und schließen

  Alt 8. Mär 2009, 10:28
Ich habe folgendes Problem:

ich möchte in der Form1 über Buttons wählen, ob ich Form2 oder Form 3 öffnen möchte.
Nun habe ich mir folgendes überlegt:

Delphi-Quellcode:
form1.close;
form2.show;
end;

doch irgendwie schließt sich dann alles wenn Form1 geschlossen wird. Warum? Muss man das irgendwie unabhängig machen?

Dann wollte im Gegenzug wieder, dass wenn Form2 oder Form3 geschlossen wird wieder Form1 erscheint und man erneut wählen kann.

Vielen Dank schonmal für eure antworten.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Formen öffnen und schließen

  Alt 8. Mär 2009, 10:31
Wenn das Hauptformular geschlossen wird, dann schließt du damit das Programm.

Wie wäre es mit Form1.Hide, du willst doch Form1 nicht schließen sondern verstecken.

Um Form1 danach wieder anzuzeigen könntest du das so machen:
Delphi-Quellcode:
Form1.Hide;
Form2.ShowModal;
Form1.Show;
Meistens ist es aber nicht besonders sinnvoll das Hauptfenster auszublenden, da das zu Verwirrung führen kann.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
otto06
(Gast)

n/a Beiträge
 
#3

Re: Formen öffnen und schließen

  Alt 8. Mär 2009, 10:51
Vielen Dank für die schnelle antwort! Läuft!

Aber was heißt form2.showmodal; ?

Das gibt es bei mir eine Fehlermeldung: Aus einem sichtbaren kann kein modales gemacht werden.
Aber wenn ich es weg lasse läuft es auch.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Formen öffnen und schließen

  Alt 8. Mär 2009, 11:38
Zitat von otto06:
Aber was heißt form2.showmodal; ?
Das sorgt dafür, dass die Abarbeitung der Befehle nach diesem Befehl erst weitergeht, wenn das Fenster wieder geschlossen wird. So kannst du direkt nach diesem Befehl Form1 wieder anzeigen.

Zitat von otto06:
Das gibt es bei mir eine Fehlermeldung: Aus einem sichtbaren kann kein modales gemacht werden.
Aber wenn ich es weg lasse läuft es auch.
Dann war das Fenster aus irgendeinem Grund schon sichtbar als du ShowModal aufgerufen hast.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#5
  Alt 22. Jun 2009, 18:21
Hi habe das selbe Problem, aber ich weiß nicht warum das Fenster schon vorher sichtbar war, soll ich auf die OnCreate einfach nen Form2.Free setzten, oder wäre das nicht so gut?
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Formen öffnen und schließen

  Alt 22. Jun 2009, 18:24
Ok, das klappt nicht, weiß jemand was?
  Mit Zitat antworten Zitat
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Formen öffnen und schließen

  Alt 22. Jun 2009, 18:28
Setz mal in OnForm Create ein showMessage('Form geht auf'), oder geh mit dem Debugger durch und suche nach dem ersten aufruf von Form2
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#8

Re: Formen öffnen und schließen

  Alt 22. Jun 2009, 18:29
Bisschen Quellcode wäre nicht schlecht...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Formen öffnen und schließen

  Alt 22. Jun 2009, 18:32
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var FDialog :TFDialog;
begin
name:=EName.Text;
Mediaplayer1.Stop;
Mediaplayer2.Play;
Form1.Caption:=EName.Text;
Button7.visible:=False;
EName.visible:=False;
Label1.visible:=False;
Panel5.visible:=False;
save := TIniFile.Create('.\save\SaveFile.ini');
//try
if save.SectionExists(name)=True then
  begin
    if MessageDlg('Kaktus existiert bereits, Laden oder anderen Namen eingeben! Laden?',mtConfirmation,mbYesNo,0)=mrYes then
      begin;
        sek:=save.ReadInteger(name,'ZeitSek',0);
        min:=save.ReadInteger(name,'ZeitMin',0);
        h:=save.ReadInteger(name,'ZeitH',0);
        hunger:=save.ReadInteger(name,'Hunger',30);
        durst:=save.ReadInteger(name,'Durst',30);
        laune:=save.ReadInteger(name,'Laune',50);
        alter:=save.ReadInteger(name,'Alter',0);
        gesundheit:=save.ReadInteger(name,'Gesundheit',100);
      end
    else
      begin
        FDialog:=TFDialog.Create(self);
        FDialog.ShowModal;
        name:=FDialog.ENeuName.Text;
      end;
  end;
//finally
save.Free;
LSekunden.caption:=IntToStr(sek);
LMinuten.caption:=IntToStr(min);
LStunden.caption:=IntToStr(h);
LAHunger.caption:=IntToStr(hunger);
LADurst.caption:=IntToStr(durst);
LALaune.caption:=IntToStr(laune);
LAAlter.caption:=IntToStr(alter);
LAGesundheit.caption:=IntToStr(gesundheit);
frame:=0;
EssenF:=0;
TrinkenF:=0;
SpielenF:=0;
PName.caption:=EName.Text;
end;



das is die Procedur an ders liegen muss, weil ich noch in ner anderen eine andere Form aufrufe und das klappt, auch modal...
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Formen öffnen und schließen

  Alt 22. Jun 2009, 18:37
Ps: Leider weiß ich nicht wie man mit dem Debugger umgeht...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:52 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