Autoit-GUI, Variablen werden nicht per Tastendruck deklariert
966
Micheal K
Ich lerne immer noch, wie ich meine eigenen GUIs erstellen kann. Koda war eine große Hilfe, ich habe mich damit beschäftigt, kleine Stücke auf einmal zu lernen. Ich bin jedoch auf einen Fehler gestoßen, den ich scheinbar nicht umgehen kann. Die aktuelle GUI, an der ich gerade arbeite, ist ein einfaches Werkzeug zum Ändern der Bot-Einstellungen für ein Spiel. Diese GUI sollte 5 Schaltflächen für die Schwierigkeitsstufe und eine Liste mit Kontrollkästchen für die Anzahl der Bots enthalten.
ABER, wenn ich einen Schwierigkeitsgrad, die Botnummer und den Klick auf "Speichern" auswähle, erhalte ich diesen Fehler:
'Variable used without being declared'
Der Fehler tritt in dieser Zeile auf (Schaltfläche botSAVE am Ende):
Ich dachte, die Schaltfläche 'Func numClick ()' setze diese Variable, aber offensichtlich habe ich etwas übersehen. Hoffentlich ist es eine einfache Lösung. Weiß jemand, was diesen Fehler verursachen könnte? Ich habe diese Frage in Autoitcsript-Foren gepostet, aber sie scheinen sich vor Skripten für die Spielautomation zu scheuen, so dass ich dort nicht wirklich viel Hilfe bekam.
- Wenn jemand sieht, was ich falsch gemacht habe, ODER einen Link zu einem Thema hat, das das Deklarieren von Variablen mit einem Klick beschreibt, ist die Hilfe immer willkommen. Die einzigen Themen, die ich gefunden habe, sind unglaublich vage oder weichen leicht von dem ab, was ich suche.
Bitte bearbeiten Sie nicht Ihre eigenen Antworten in Ihre Frage. Stellen Sie es stattdessen als separate Antwort auf und markieren Sie es (nach einiger Zeit) als akzeptiert
nixda vor 10 Jahren
3
1 Antwort auf die Frage
2
Micheal K
Lösung: Ich habe mein Variablenproblem gelöst. Es scheint, dass die Variable in 'Func numClick ()' als globale Variable festgelegt werden muss. Natürlich tut es das. : P
Jedenfalls habe ich es endlich gelöst, indem ich das geändert habe:
$botnumber = "2" $skillset = "0.2"
Zu diesem:
Global $botnumber = "2" Global $skillset = "0.2" EndFunc
Habe dasselbe mit den restlichen Funktionen und jetzt funktioniert alles.