'GUICtrlSetState' funktioniert irgendwie nicht!

  • Mein "kleiner" Code macht mir mal wieder Probleme!
    Und zwar lasse ich mir eine Zahl auslesen und lasse dann mit einer If-Abfrage einen bestimmte Checkbox naja checken? (klingt irgendwie falsch )
    Ich konnte mit einer 'MsgBox' herausfinden das der Compiler die If-Abfrage erreicht und auch natürlich mir die MsgBox zeigt. Somit funktioniert ja die If-Abfrage.
    Nur setzt er nicht die richtige Checkbox also er eigentlich keine.
    Da ich nicht weiß was hier falsch läuft gebe ich euch meinen ganzen Code statt ein Schnipsel: (Zeile 351 - 369)


    [Blockierte Grafik: http://www2.pic-upload.de/img/32149192/Unbenannt2.png]

  • Lass dir mal die Handles der Variablen ausgeben, eventuell sind die Variablen schlicht und einfach leer.
    Du nimmst nämlich die Zuweisung in Funktionen vor und daraus werde ich nicht ganz so schlau.

    Ich habe erst danach die Zuweisung in eine Func geschrieben um zu sehen ob es dann klappt oder sich was verändert.
    zuerst standen sie nur so da und nicht in einer func.
    Aber ich werde das kurz ausgeben lassen.

  • Der Status der Checkbox ist 4 also unchecked
    Und bei den Variabeln gibt er mir eine 24 aus, keine Ahnung wieso.

    EDIT:
    Habe jetzt versucht mal früher die Checkbox zu ändern also direkt beim erstellen.
    Da passiert leider auch nichts. Diese Fehler mag ich nicht. Diese wo keine Fehler oder Errors angezeigt werden

  • Kann es sein das du die Checkboxen mehrmals erstellst und auf die falschen zugreifst?
    Du hast in der einen Funktion verschiedene If-Abfragen um direkt gleich den Status im GUICtrlCreateCheckbox mitzusetzen aber so sollte man das auf keinen Fall machen.

    Die Checkboxen solltest du mit der GUI mit erstellen und in einer LoadSettings Funktion die Werte setzen - nur so nebenbei.

    Die 24 sollte soweit stimmen, AutoIts internet Handle-Handler zählt einfach nur hoch und das ist dann das 24. Control.

  • Kann es sein das du die Checkboxen mehrmals erstellst und auf die falschen zugreifst?
    Du hast in der einen Funktion verschiedene If-Abfragen um direkt gleich den Status im GUICtrlCreateCheckbox mitzusetzen aber so sollte man das auf keinen Fall machen.

    Die Checkboxen solltest du mit der GUI mit erstellen und in einer LoadSettings Funktion die Werte setzen - nur so nebenbei.

    Die 24 sollte soweit stimmen, AutoIts internet Handle-Handler zählt einfach nur hoch und das ist dann das 24. Control.

    ähhhm habe den Fehler gefunden habe das hier vergessen:

    #include <StaticConstants.au3>
    ähhhm ja Dummheit tut weh vorallem wenn man in der Öffentlichkeit nach Hilfe fragt :/

    Aber danke für deine hilfe! :thumbup:
    Ich habe dein vorschlag eingebaut und sry das dass so unübersichtlich aussieht, muss mal langsam ein System reinbekommen.

    Danke nochmal!

  • Ich habe dein vorschlag eingebaut und sry das dass so unübersichtlich aussieht, muss mal langsam ein System reinbekommen.

    Globale Variablen (in diesem Fall deine Controls) solltest du niemals in Funktionen erstellen, da kann ganz gerne was durcheinander kommen und es schießen einem tausend Warnings um die Ohren wenn man nicht oben alle extra deaklariert und auf 0 gesetzt hat, aber das macht die Fehlersuche nicht besser.

    Deshalb gilt: Immer GUI erstellen und im Nachhinein die Daten setzen, du musst die GUI ja nicht unbedingt anzeigen wenn es dir darum geht aber deine GUI Erstellung sollte an einem Fleck sein, die Zuweisungen sollten möglichst an einem Fleck sein und dann sieht das nicht nur besser aus sondern die Fehlersuche ist auch erheblich leichter.