Forum: PC-Programmierung Gambas: Fenster schliessen über das Kreuz im Rahmen und Event?


von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo.

Verwendet wird hier Gambas 2.21 unter Debian "Squeeze".

Ich habe ein Problem, daß ich zwei Fenster geöffnet habe, mein 
Hauptauswahlfenster, das ich versteckt habe, und ein zweites für ein 
Teilprogram.
Beim Beendigen des Teilprogrammen über einen dafür vorgesehenen Button
komme ich per:
FHauptauswahl.Show
FTeilprogram.Close
wieder zu meinem Hauptauswahlfenster. Das funktioniert recht ordentlich.
Auch Fehler lassen sich auf dem Wege sauber zum Abschluss bringen.

Ein Problem besteht aber, wenn ich mein FTeilprogramm mit dem "Fenster 
X" im Rahmen schliesse. Das Fenster geht zu, aber FHauptauswahl wird 
nicht wieder angezeigt, läuft unzugänglich im Hintergrund und muss von 
Hand abgewürgt werden.

Gibt es irgendein Event, mit dem ich in Fenster FHauptauswahl 
feststellen kann, das Fenster/Form FTeilprogramm beendet wurde, was dann 
das FHauptauswahl veranlasst, sich wieder sichtbar zu machen?

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic

http://www.dl0dg.de

von hp-freund (Gast)


Lesenswert?

Ich denke Du solltest Form_Close() abfangen:
1
PUBLIC SUB Form_Close()
2
  DIM retVal AS Integer
3
  retval = Message.Question("Are you sure you want to exit?", "Yes", "No")
4
  IF retVal = 1 THEN
5
    ME.Close
6
  ELSE IF retVal <> 1 THEN
7
    'code to prevent the form from exiting
8
    STOP EVENT 
9
  ENDIF
10
END

Darin kannst Du deine Befehle aufrufen...

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo hp-freund.


> Ich denke Du solltest Form_Close() abfangen:
> PUBLIC SUB Form_Close()
> END
> Darin kannst Du deine Befehle aufrufen...

HERZLICHEN DANK! Hat genauso geklappt.....zwischen PUBLIC SUB 
Form_Close()
und dem END habe ich aber nur ein FHauptfenster.Show. Die Afrage, ob das 
auch wohlüberlegt ist, meine ich mir hier schenken zu zu können. :-)

Mit dem Close hatte ich schon vorher probiert, aber wohl irgendeine 
Kleinigkeit anders gehabt. Leider hatte ich den Testmüll schon gelöscht. 
Ich denke, das ich mit FTeilprogramm_Close statt Form_Close versucht 
hatte......

Sind wir hier die eigentlich die einzigen, die in Gambas machen?

So, und jetzt programmier ich ersteinmal weiter....

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic

http://www.dl0dg.de

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.