Probleme beim Schliessen mehrerer Dialogfenster

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21195
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Probleme beim Schliessen mehrerer Dialogfenster

Beitrag von Manfred »

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.
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!!
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
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

Beitrag von Rolf Ramacher »

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.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21195
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

Beitrag von Manfred »

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!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9366
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

Beitrag von Tom »

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:

Code: Alles auswählen

DCREAD GUI PARENT @Dialog EVAL {|o|SetAppWindow(o)}
Ein modaler (kein Multithreading oder Kind eines anderen Dialogs) dann so:

Code: Alles auswählen

DCREAD GUI PARENT @Dialog EVAL {|o|SetAppWindow(o)} MODAL
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21195
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

Beitrag von Manfred »

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. :dontknow:
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!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9366
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

Beitrag von Tom »

oDialog sollte eine lokale Variable sein - und nicht z.B. die Drawingarea des aufrufenden Dialogs.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21195
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

Beitrag von Manfred »

Hi Tom,

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
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?
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!!
Juergen
UDF-Programmierer
UDF-Programmierer
Beiträge: 92
Registriert: Di, 19. Dez 2006 19:37
Wohnort: Düsseldorf
Kontaktdaten:

Re: Probleme beim Schliessen mehrerer Dialogfenster

Beitrag von Juergen »

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
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21195
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

Beitrag von Manfred »

Hi Jürgen,

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!!
Antworten