Hallo,
muß jetzt doch mal ne Frage loswerden.
Ich möchte gerne meinen komplexen Code neu organisieren, aufbauen, verbessern.
Dazu will ich einfach Code-Teile in Funktionen ablegen.
Aber jedesmal stolpere ich dabei über Fehlermeldungen...
Vielleicht mal ein ganz einfaches Beispiel
Ich möchte den Inhalt einer Gui als Funktion haben
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
_MainGui(); meine Gui sollte hier aufgerufen werden
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $delete
Case $Create
EndSwitch
WEnd
Func _MainGui()
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 440, 520, 212)
$Edit1 = GUICtrlCreateEdit("", 124, 28, 105, 57)
GUICtrlSetData(-1, "Edit1")
$delete = GUICtrlCreateButton("delete", 32, 108, 75, 25)
$Create = GUICtrlCreateButton("Create", 128, 108, 75, 25)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 52, 160, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 52, 184, 97, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
EndFunc
[/autoit]Error: possibly used before declaration.
..habe ich soweit verstanden, aber die Frage zum Handling:
Wie macht Ihr das? Müssen die Variablen alle nun herauskopiert und als Global deklariert werden?
Oder gibt es da eine elegantere Methode ohne den Code nochmals kpl. zu bearbeiten?
D.h. der nächste Abschnitt enthält nochmals weitere Variablen
wie kann man das irgendwie sinnvoll lösen?
Ich dachte Abschitt ausschneiden und in Funktion kopieren, Funktion aufrufen fertig!
Gibt es da vielleicht einen Befehl, z.B. alle Variablen des Scriptes sollen Global behandelt werden.
Grüße
Ilse ![]()