DCBROWSE unsichtbar nach Erzeugung

Moderator: Moderatoren

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

DCBROWSE unsichtbar nach Erzeugung

Beitrag von Manfred » Sa, 20. Jun 2020 8:39

Hi,
ich habe ein Szenario, in dem ich mehrere Browse erzeugen muß, von denen aber immer nur jeweils einer sichtbar sein darf. Also erzeuge ich alle Browser direkt am Anfang und zeige dann immer nur den benötigten über HIDE Codeblock an. leider hat das zur Folge, das bei mehreren Browsern, die erzeugt werden am Anfang immer ein Flackern entsteht und dann erst die Browser versteckt werden. Das stört den User natürlich. Jetzt habe ich es umgekehrt gemacht also nicht so, das der Hideblock versteckt, wenn .F. zurück geliefert wird, sondern direkt ein .F. und wenn der Codeblock .F. zurückliefert, dann wird angezeigt. Das bringt es auch nicht. Also als nächstes in EVAL ein Hide() eingebaut um dann in Kombination mit HIDE Codeblock zum Ziel zu kommen. Das klappt auch nicht. Das Flackern bleibt. Man sieht also erstmal, wie die browser aufgebaut und dann ausgeblendet werden. Also auch nicht erquicklich. Wie bekomme ich es hin, das die Browser erstmal nicht zu sehen sind während der jeweiligen Erzeugung und dann eben nur der jeweils eine Browser sichtbar wird und das Flackern aufhört? Normalerweise kann sowas doch unter xbase++ pur mit show() hide() gemacht werden. Aber wie sage ich express++ das erstmal alles Hide() ist und dann auf Wunsch show() wird? Natürlich nur für die besagten Browser.
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

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8089
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: DCBROWSE unsichtbar nach Erzeugung

Beitrag von Tom » Sa, 20. Jun 2020 9:38

Häng mal das HIDE direkt in die DCGET OPTIONS. Und setze im EVAL des DCREAD GUI eine Var, die das richtige Browse zur Anzeige bringt. Danach dann Show() für den gesamten Dialog.
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19539
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 6 Mal
Danksagung erhalten: 23 Mal

Re: DCBROWSE unsichtbar nach Erzeugung

Beitrag von Manfred » Sa, 20. Jun 2020 11:27

habe ich gemacht. DA passiert gar nichts. Es wird nichts versteckt.... Sehr merkwürdig
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

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8089
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: DCBROWSE unsichtbar nach Erzeugung

Beitrag von Tom » Sa, 20. Jun 2020 11:56

Mmh. Das hier funzt einwandfrei:

Code: Alles auswählen

FUNCTION MAIN()
LOCAL GetList := {}, GetOptions := {}, oBrowse1, oBrowse2, oDialog, a := Directory(), lShowBrowse1 := .T., lShowBrowse2 := .F.
DCGETOPTIONS NOMINBUTTON HIDE

@ 1,1 DCBROWSE oBROWSE1 DATA a SIZE 100,20 HIDE {||!lShowBrowse1}
DCBROWSECOL ELEMENT 1 HEADER "Test1" WIDTH 20 PARENT oBrowse1

@ 1,1 DCBROWSE oBROWSE2 DATA a SIZE 100,20 HIDE {||!lShowBrowse2}
DCBROWSECOL ELEMENT 2 HEADER "Test2" WIDTH 20 PARENT oBrowse2

@ 22,1 DCPUSHBUTTON CAPTION 'Toggle' SIZE 10,1 ACTION {||lShowBrowse1:=!lShowBrowse1,lShowBrowse2:=!lShowBrowse2,DC_GetRefresh(GetList)}

DCREAD GUI FIT ADDBUTTONS OPTIONS GetOptions PARENT @oDialog EVAL {||oDialog:Show()}

RETURN NIL
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19539
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 6 Mal
Danksagung erhalten: 23 Mal

Re: DCBROWSE unsichtbar nach Erzeugung

Beitrag von Manfred » Sa, 20. Jun 2020 11:59

Code: Alles auswählen

********************************************************************************
         DCGETOPTIONS;
           AUTORESIZE;
               BORDER XBPDLG_SIZEBORDER;
                 BUSY "Daten werden geladen";
                COLOR oSysPara:doParaWS:dialog_hg;
            COLORGETS {oSysPara:doParaWS:colorgets_aktiv,oSysPara:doParaWS:colorgets_inaktiv};
              GETFONT oVtpara:us_font_menue;
              HIDE;
           HILITEGETS oSysPara:doParaWS:hilitegets;
          NOESCAPEKEY;
          NOMAXBUTTON;
          NOMINBUTTON;
                PIXEL;
         PRESENTATION oVtPara:aPresGet;
              SAYFONT oVtpara:us_font_menue;
           SAYOPTIONS XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT;
           SCROLLBARS XBP_SCROLLBAR_VERT+XBP_SCROLLBAR_HORIZ;
         TOOLTIPCOLOR oSysPara:doParaWS:tooltipcolor_vg,oSysPara:doParaWS:tooltipcolor_hg;
          TOOLTIPFONT oSysPara:doParaWS:tooltipfont;
          WINDOWWIDTH oDialogZusatz:nFensterBreite;
         WINDOWHEIGHT oDialogZusatz:nFensterHoehe

         DCREAD GUI;
               EVAL {|| oDialog:setFrameState(XBPDLG_FRAMESTAT_MAXIMIZED),;
                        oDialogZusatz:setzePbButton(x_wechsel,oDialog,x_filter,@getlist),;
                        passeBreiteAn(oDialogZusatz),;                          /* oDialogZusatz:MausImKopf(2,"dat_buc",,.T.),; */
                        oDialogZUsatz:aktualisiereBrowse(oDialogZUsatz:oJo),;
                        SetAppFocus(oDialogZusatz:oBrowse);
                    };
              MODAL;
            OPTIONS GetOptions;
             PARENT @oDialog;
              TITLE sag_kopf( oVtPara:N_JOURNAL + x_filter , "JTNR" )
wo ist der Unterschied?
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

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8089
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: DCBROWSE unsichtbar nach Erzeugung

Beitrag von Tom » Sa, 20. Jun 2020 12:11

wo ist der Unterschied?
Ich sehe kein oDialog:Show(), aber auch überhaupt kein DCBROWSE (muss ich auch nicht). Hast Du mein Beispiel ausprobiert? Was macht Dein Code genau? Was siehst Du? Nix? Alles? Teile?
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19539
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 6 Mal
Danksagung erhalten: 23 Mal

Re: DCBROWSE unsichtbar nach Erzeugung

Beitrag von Manfred » Sa, 20. Jun 2020 12:15

ach so, sorry. Hide versteckt gar nichts. es ist so, als wenn ich es überhaupt nicht benutzen würde. Ich habe DIch/die ANleitung doch so verstanden, das der gesamte Dialog erstmal nicht zu sehen sein dürfte/sollte. Er ist es aber.
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

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8089
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: DCBROWSE unsichtbar nach Erzeugung

Beitrag von Tom » Sa, 20. Jun 2020 12:45

Doch, tut es. Nimm mal aus meinem Dialog das "oDialog:Show()" aus der EVAL-Klausel des Dialogs, und Du siehst nix. Du kannst das Programm nur noch über die Taskleiste beenden. Wenn es bei Dir anders ist, ist irgendwas im Code falsch.
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19539
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 6 Mal
Danksagung erhalten: 23 Mal

Re: DCBROWSE unsichtbar nach Erzeugung

Beitrag von Manfred » Sa, 20. Jun 2020 16:59

ok, in einem anderen Programm klappt es. Das muß ich jetzt mal näher untersuchen, was das wieder für ein Mist ist.
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

Antworten