AGB  ·  Datenschutz  ·  Impressum  







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

Mehrere Forms (Öffnen und Schließen)

Ein Thema von Whistler · begonnen am 18. Aug 2004 · letzter Beitrag vom 20. Aug 2004
Antwort Antwort
Whistler

Registriert seit: 2. Mär 2004
98 Beiträge
 
Delphi 2006 Professional
 
#1

Mehrere Forms (Öffnen und Schließen)

  Alt 18. Aug 2004, 23:19
Guten Morgen,

folgendes Problem:
Form1, genannt "Main", öffnet via Button Form2, genannt "Ueber". Im Code sieht das so aus:
Delphi-Quellcode:
procedure TMain.btHilfeClick(Sender: TObject);
begin
Ueber1 := TUeber.Create (Main);
ueber1.showmodal;
end;
Ich habe also die Variable "Ueber1" erstellt. In diese erstelle ich das Formular "Ueber", welches selbstverständlich unter "uses" bei Form "Main" eingetragen ist.
Wenn der User also auf den Buttun "btHilfe" klickt, soll sich das besagt Form "Ueber" öffnen und das Hauptprogramm ("Main") in der Zeit nicht anwählbar sein. Dies realisiere ich via "ShowModal".

Auf dem Formular "Ueber" ist ein Button "btClose" der bei Klick "Ueber.Close" ausführt. Wenn er das macht, crashed das Programm
Daher führe ich "Main.Ueber1.Close;" aus - habe allerdings auch "Main.Ueber1.Destroy" bzw. ".free" probiert. Das Formular "Ueber" schließt sich zwar, aber das Hauptformular wird nicht wieder aktiv - was es aber werden soll.

Hoffe das Problem wurde verstanden und jemand weiß Rat.

P.s.:
Wenn jmd. ein paar gute Tutorials zu "Delphi & mehrere Forms" kennt, wäre ich ihm dankbar!
mfg

Whistler
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#2

Re: Mehrere Forms (Öffnen und Schließen)

  Alt 18. Aug 2004, 23:23
ModalResult dürfte Dein Problem lösen.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Mehrere Forms (Öffnen und Schließen)

  Alt 18. Aug 2004, 23:24
du musst das form "ueber" mit
modalresult := mrOK; ///oder irgend ein anderer Rückgabewert schließen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Whistler

Registriert seit: 2. Mär 2004
98 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Mehrere Forms (Öffnen und Schließen)

  Alt 20. Aug 2004, 02:21
Leider nein.
"modalresult := mrOK" ignoriert er. In einer "if-Abfrage" prüfe ich eine Progressbar. Wenn hier die Position 100 erreicht ist, soll sich das Fenster schließen. Die Abfrage selbst funktioniert, dies habe ich Mittels "ShowMessage" getestet. Jedoch bei "Close;" bzw. "Ueber.Close;" kommt es zu einer Exception und "modalresult := mrOK" bzw. "modalresult := 1" ignoriert er.

Nachtrag:
Ich führe alles bei "OnCreate" aus. Dies scheint nicht zu gehen. Jmd. eine Idee wo ich es statt dessen ausführen kann (Fenst soll eigentlich nur angezeigt werden und autom. abgearbeitet werden und sich beenden - Timer?)?
mfg

Whistler
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#5

Re: Mehrere Forms (Öffnen und Schließen)

  Alt 20. Aug 2004, 02:36
schau mal dort - der von mir vorgeschlagene Weg sollte auch für Dein Problem passen...
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Whistler

Registriert seit: 2. Mär 2004
98 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Mehrere Forms (Öffnen und Schließen)

  Alt 20. Aug 2004, 02:43
Guten Morgen Leuselator,

interessant Idee. Werde ich mir heute Mittag mal genauer anschauen.
Aktuell lasse ich in Form2.Create einfach den Timer aktivieren und führe das Close dann dort aus - was funktioniert.
mfg

Whistler
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#7

Re: Mehrere Forms (Öffnen und Schließen)

  Alt 20. Aug 2004, 02:52
Timer sind immer Mist für soetwas - geht zwar, ist aber nicht sauber.
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
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 08:00 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