DCCHECKBOX nimmt Wert nicht an [ERLEDIGT]

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18039
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

DCCHECKBOX nimmt Wert nicht an [ERLEDIGT]

Beitrag von Manfred » Mo, 12. Mär 2018 20:39

Hi Leute,
was mache ich hier falsch?

Code: Alles auswählen

METHOD DialogTagesdienste:erfasseDatum(dDatum)
       LOCAL getlist := {}
       LOCAL GetOptions
       LOCAL lErfolg  := .F.
       LOCAL lSommerfahrplan := .F.
       LOCAL lWinterfahrplan := .F.
       LOCAL nLinks   := 20
       LOCAL nOben    := 20
       LOCAL nPbHoehe := 30
       LOCAL olSommerfahrplan  := NIL
       LOCAL olWinterfahrplan  := NIL

       LOCAL oDatum      := NIL
       LOCAL oDialog     := NIL
       LOCAL oPbAbbruch  := NIL
       LOCAL oPbStart    := NIL
       LOCAL oRahmen     := NIL
       LOCAL oText       := NIL

       MEMVAR oSysPara

       @ 10, 5 DCGROUP oRahmen;
                  SIZE DCGUI_PARENTWIDTH-10,DCGUI_PARENTHEIGHT - 20

       @ nOben,nLinks DCSAY "Datum:";
                     OBJECT oText;
                     PARENT oRahmen;
                       SIZE 70,20
       @ DCGUI_ROW,DCGUI_COL DCGET dDatum;
                              EVAL {|o| o:usevisualstyle := oSysPara:oWsPara:VisualStyl};
                   GETPRESENTATION {{ XBP_PP_DISABLED_FGCLR, GRA_CLR_BLACK }};
                            OBJECT oDatum;
                            PARENT oRahmen;
                              SIZE 100,20;
                           TABSTOP;
                           TOOLTIP "Tagesdatum";
                             VALID {|| ! Empty(dDatum)}
         nOben += ::nAbstand
         @ nOben,nLinks DCSAY "incl.Sommer:";
                       OBJECT oText;
                       PARENT oRahmen;
                         SIZE 70,20
         @ DCGUI_ROW,DCGUI_COL DCCHECKBOX lSommerfahrplan;
                                     EVAL {|o| o:usevisualstyle := oSysPara:oWsPara:VisualStyl};
                                   OBJECT olSommerfahrplan;
                                   PARENT oRahmen;
                                  TABSTOP
         nOben += ::nAbstand
         @ nOben,nLinks DCSAY "incl.Winter:";
                       OBJECT oText;
                       PARENT oRahmen;
                         SIZE 70,20
         @ DCGUI_ROW,DCGUI_COL DCCHECKBOX lWinterfahrplan;
                                     EVAL {|o| o:usevisualstyle := oSysPara:oWsPara:VisualStyl};
                                   OBJECT olWinterfahrplan;
                                   PARENT oRahmen;
                                  TABSTOP
         @ 0,0 DCPUSHBUTTON;
                     ACTION {|| lErfolg := .T.,DC_ReadGuiEvent(DCGUI_EXIT_ABORT,GetList)};
                    CAPTION "Start";
                       EVAL {|| oPbStart:setPos( {10,10} ),;
                                oPbStart:setSize( {oRahmen:currentsize()[1]/4-10,nPbHoehe} );
                            };
                     OBJECT oPbStart;
                     PARENT oRahmen;
                    TABSTOP;
                    TOOLTIP "Start"
         @ 0,0 DCPUSHBUTTON;
                     ACTION {|| DC_ReadGuiEvent(DCGUI_EXIT_ABORT,GetList)};
                  CAPTION "Abbruch";
                     EVAL {|| oPbAbbruch:setPos( {oPbStart:currentpos()[1] + oPbStart:currentsize()[1],10} ),;
                              oPbAbbruch:setSize( {oRahmen:currentsize()[1]/4-10,nPbHoehe} );
                          };
                   OBJECT oPbAbbruch;
                   PARENT oRahmen;
                  TABSTOP;
                  TOOLTIP "Abbruch/Beenden"
         DCGETOPTIONS;
             BORDER XBPDLG_SIZEBORDER;
         CLOSEQUERY MSG {|| IF(oSysPara:oMessage:anzeigen(" Abbruch?",.T.,"N"),.T.,.F.)};
         HILITEGETS GRA_CLR_CYAN;
        NOMAXBUTTON;
        NOMINBUTTON;
              PIXEL;
         SAYOPTIONS XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_RIGHT;
       TOOLTIPCOLOR GRA_CLR_BLACK, GRA_CLR_YELLOW;
        WINDOWWIDTH 400;
       WINDOWHEIGHT 200

         DCREAD GUI;
            OPTIONS GetOptions;
             PARENT @oDialog;
              TITLE "Datum für Kopie"
         dDatum := CToD(oDatum:buffer)
         ::lSommerfahrplan := lSommerfahrplan <----
         ::lWinterfahrplan := lWinterfahrplan    <----
RETURN lErfolg
lSommerfahrplan und lWinerfahrplan habe am Ende .F. obwohl der Haken gesetzt wurde in der Checkbox. oLSommerfahrplan und olWinterfahrplan haben NIL
Gruß Manfred
Mitglied der XUG Leverkusen
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: 7287
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: DCCHECKBOX nimmt Wert nicht an

Beitrag von Tom » Mo, 12. Mär 2018 21:19

Der Start-Button löst auch EXIT_ABORT aus, wodurch u.U. Eingaben zurückgesetzt werden. Nimm mal EXIT_OK.
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18039
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: DCCHECKBOX nimmt Wert nicht an

Beitrag von Manfred » Di, 13. Mär 2018 7:59

Hi Tom,
Danke. So wie es aussieht war es da. Daran hätte ich jetzt überhaupt nicht gedacht. Und schon gar nicht das zu hinterfragen.
Gruß Manfred
Mitglied der XUG Leverkusen
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