GUICtrlGetState gibt bei Checkboxen falschen Status zurück

  • GUICtrlGetState sollte doch bei einer angehackten, sicht- und auswählbren Checkbox den Status 81 ($GUI_CHECKED=1 + $GUI_SHOW=16 + $GUI_ENABLE=64) zurückgeben, es wird aber 80 zurück gegeben. Ich habe zwar schon einen Workaround:

    trotzdem würde mich interessieren warum dies so ist. Ich benutze noch AutoIt 3.3.6.1


    mfg autoBert

  • Laut der Hilfe müsste das aber so passen

    Zitat

    Im Gegensatz zu GUICtrlRead liefert diese Funktion nur den Status eines Controls (aktiviert, deaktiviert, versteckt, sichtbar, drag and drop erlaubt)


    Da steht nichts von checked oder unchecked ;)

  • Da steht nichts von checked oder unchecked ;)


    Unter

    Zitat

    Erfolg: Gibt den Status zurück. Die Werte findet man unter GUICtrlSetState

    und laut der dort vorhandenen Statustabelle:

    ist $GUI_CHECKED im Status enthalten.


    mfg autoBert

  • Hm, denke, dass die Hilfe in diesem Bereich nicht ganz eindeutig ist.
    In der englischen Hilfe stehts ähnlich drin.


    Vielleicht kann jemand anderer noch was dazu sagen

  • Moin,


    Zitat

    As opposed to GUICtrlRead this function returns ONLY the state of a control enabled/disabled/hidden/show/dropaccepted


    Zu Deutsch:

    Zitat

    Im Gegensatz zu GUICtrlRead liefert diese Funktion nur den Status eines Controls (aktiviert, deaktiviert, versteckt, sichtbar, drag and drop erlaubt)


    Also eigentlich klar definiert. Das Beispielskript sollte letzte Zweifel beseitigen. ;)
    Hat evtl. damit zu tun, dass Englisch eine sehr schwammige Sprache ist. Nur in Deutsch kann man alles ganz genau definieren.



    Grüße
    Greenhorn

    »Wir beschließen etwas, stellen das dann in den Raum und warten einige Zeit ab, was passiert.
    Wenn es dann kein großes Geschrei gibt und keine Aufstände, weil die meisten gar nicht begreifen,
    was da beschlossen wurde, dann machen wir weiter - Schritt für Schritt, bis es kein Zurück mehr gibt.«
    (Jean-Claude Juncker)

  • Irgendwie muß man ja den State setzen können, GUICtrlSetData kann ja nur den Text ändern also bleibt nur GUICtrlSetState.
    Ich finde es aber auch bekloppt gemacht, das man $GUI_CHECKED und $GUI_UNCHECKED per GUICtrlRead auslesen muß.

  • Seltsamerweise kann mn aber mit GUICtrlSetState$GUI_CHECKED setzen und imeigentlchen Sinn ist dies ja auch ein Teil des Status und auch in der Status-Tabelle aufgeführt.


    Da gebe ich Dir Recht. ;)
    Unlogisch und inkonsistent ist es. Aber so ist AutoIt halt in manchen Sachen.


    Grüße
    Greenhorn

    »Wir beschließen etwas, stellen das dann in den Raum und warten einige Zeit ab, was passiert.
    Wenn es dann kein großes Geschrei gibt und keine Aufstände, weil die meisten gar nicht begreifen,
    was da beschlossen wurde, dann machen wir weiter - Schritt für Schritt, bis es kein Zurück mehr gibt.«
    (Jean-Claude Juncker)