Probleme beim Schliessen mehrerer Dialogfenster
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Probleme beim Schliessen mehrerer Dialogfenster
Hi,
wenn ich über ein DCMENUBAR einen Dialog öffne und dann mit dem Button oben rechts, oder über einen Button, der DC_ReadGuiEvent(DCGUI_EXIT_ABORT,GetList) aufruft verlasse, klappt alles so, wie ich es mir denke. Sobald ich aber einen 2 Dialog öffne, dann muß ich in der Reihenfolge rückwärts die Dialoge schliessen, weil der Beenden Button des 1.Dialogs zwar zu drücken ist, aber nicht reagiert. Sobald in dem Fall der zuletzt geöffnete Dialog geschlossen wird geht dann automatisch der vorhergehende mit zu.
Gibt es da wieder einen Trick, den man beachten muß. Ich habe nichts gefunden.
wenn ich über ein DCMENUBAR einen Dialog öffne und dann mit dem Button oben rechts, oder über einen Button, der DC_ReadGuiEvent(DCGUI_EXIT_ABORT,GetList) aufruft verlasse, klappt alles so, wie ich es mir denke. Sobald ich aber einen 2 Dialog öffne, dann muß ich in der Reihenfolge rückwärts die Dialoge schliessen, weil der Beenden Button des 1.Dialogs zwar zu drücken ist, aber nicht reagiert. Sobald in dem Fall der zuletzt geöffnete Dialog geschlossen wird geht dann automatisch der vorhergehende mit zu.
Gibt es da wieder einen Trick, den man beachten muß. Ich habe nichts gefunden.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Probleme beim Schliessen mehrerer Dialogfenster
Hi Manfred,
ich habe zwar kein express++ - beim normalen GUI ist es so, das nach dem event-handle der akutelle Dialog zu schließen ist und auf den "alten" (oParent) zu verweisen ist.
bei mir ist das so
oParent:enable()
oDlg:destroy()
SetAppFocus(oParent)
Return Nil
das wird bei express++ genauso sein.
ich habe zwar kein express++ - beim normalen GUI ist es so, das nach dem event-handle der akutelle Dialog zu schließen ist und auf den "alten" (oParent) zu verweisen ist.
bei mir ist das so
oParent:enable()
oDlg:destroy()
SetAppFocus(oParent)
Return Nil
das wird bei express++ genauso sein.
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Probleme beim Schliessen mehrerer Dialogfenster
Hat keiner von den express++lern eine Idee? Irgendwo muß ja ein Wurm sein, den ich übersehe.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Probleme beim Schliessen mehrerer Dialogfenster
Hallo, Manfred.
Was sind das für Dialoge? Ist der eine modales Kind eines anderen oder sind es Geschwister? Arbeitest Du mit Multithreading oder nicht? Wenn Du mit Multithreading arbeitest, aber Dialoge mit der Klausel "MODAL" aufbaust, sind Probleme im Sinne des Wortes vorprogrammiert. Was ist mit SETAPPWINDOW?
Ein nicht-modaler Dialog sollte so entstehen:
Ein modaler (kein Multithreading oder Kind eines anderen Dialogs) dann so:
Was sind das für Dialoge? Ist der eine modales Kind eines anderen oder sind es Geschwister? Arbeitest Du mit Multithreading oder nicht? Wenn Du mit Multithreading arbeitest, aber Dialoge mit der Klausel "MODAL" aufbaust, sind Probleme im Sinne des Wortes vorprogrammiert. Was ist mit SETAPPWINDOW?
Ein nicht-modaler Dialog sollte so entstehen:
Code: Alles auswählen
DCREAD GUI PARENT @Dialog EVAL {|o|SetAppWindow(o)}
Code: Alles auswählen
DCREAD GUI PARENT @Dialog EVAL {|o|SetAppWindow(o)} MODAL
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Probleme beim Schliessen mehrerer Dialogfenster
Hi Tom,
das war das erste was ich probiert habe. Das ist es nicht. Allerdings bin ich mir nicht sicher, ob es da irgendwelche Kombinationsvarianten gibt.
Das Programm als solches öffnet sich. Ich bestimme einen Hauptdialog. Dieser Hauptdialog wurde dann von den nächsten Dialogen die aufgerufen wurden über APPWINDOW oHauptDialog:drawingArea als Parent gesetzt. -> Problem ist da..
Dann habe ich das APPWINDOW oHauptDialog:drawingArea weggelassen und auch die Varianten die Du mir vorgeschlagen hast ausprobiert. --> Das Problem bleibt.
Modal ist da gar nichts gesetzt. Habe ich aber auch mal probiert. --> Das Problem bleibt.
das war das erste was ich probiert habe. Das ist es nicht. Allerdings bin ich mir nicht sicher, ob es da irgendwelche Kombinationsvarianten gibt.
Das Programm als solches öffnet sich. Ich bestimme einen Hauptdialog. Dieser Hauptdialog wurde dann von den nächsten Dialogen die aufgerufen wurden über APPWINDOW oHauptDialog:drawingArea als Parent gesetzt. -> Problem ist da..
Dann habe ich das APPWINDOW oHauptDialog:drawingArea weggelassen und auch die Varianten die Du mir vorgeschlagen hast ausprobiert. --> Das Problem bleibt.
Modal ist da gar nichts gesetzt. Habe ich aber auch mal probiert. --> Das Problem bleibt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Probleme beim Schliessen mehrerer Dialogfenster
oDialog sollte eine lokale Variable sein - und nicht z.B. die Drawingarea des aufrufenden Dialogs.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Probleme beim Schliessen mehrerer Dialogfenster
Hi Tom,
so habe ich das stehen.
Appwindow habe ich mal unter DCREAD GUI gemacht, oder entfernt. Es ändert nichts. oDialog ist LOCAL. oHauptDialog ist im Main als Memvar angelegt und wird dort dem Dialog als Parent zugeordnet.
Oder verstehe ich Dich jetzt falsch?
so habe ich das stehen.
Code: Alles auswählen
//------------------------------------------------------------------------------
DCGETOPTIONS;
AUTORESIZE;
BORDER XBPDLG_SIZEBORDER;
HILITEGETS GRA_CLR_CYAN;
ICON 4;
NOMAXBUTTON;
NOMINBUTTON;
PIXEL;
SAYOPTIONS XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_RIGHT;
TOOLTIPCOLOR GRA_CLR_BLACK, GRA_CLR_YELLOW;
WINDOWWIDTH nFensterBreite;
WINDOWHEIGHT nFensterHoehe
// APPWINDOW oHauptDialog:drawingArea;
DCREAD GUI;
EVAL {|| SetAppFocus(oBrowseDienst)};
OPTIONS GetOptions;
PARENT @oDialog
Oder verstehe ich Dich jetzt falsch?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
-
- UDF-Programmierer
- Beiträge: 92
- Registriert: Di, 19. Dez 2006 19:37
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: Probleme beim Schliessen mehrerer Dialogfenster
Hallo Manfred,
ich habe in den "DCGETOPTIONS" des Menüs die Option "AUTOWINMENU" angegeben.
Hierdurch werden beim Öffnen eines Fensters zusätzliche Menüeinträge zum schließen, überlappen, alle schließen etc.
eingeblendet.
Die Fenster werden auch geschlossen, wenn sie aus unterschiedlichen Prozessen aufgerufen wurden.
Gruß
Jürgen
ich habe in den "DCGETOPTIONS" des Menüs die Option "AUTOWINMENU" angegeben.
Hierdurch werden beim Öffnen eines Fensters zusätzliche Menüeinträge zum schließen, überlappen, alle schließen etc.
eingeblendet.
Die Fenster werden auch geschlossen, wenn sie aus unterschiedlichen Prozessen aufgerufen wurden.
Gruß
Jürgen
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Probleme beim Schliessen mehrerer Dialogfenster
Hi Jürgen,
das hilft auch nicht, leider.
das hilft auch nicht, leider.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!