Habe zur Übersichtlichkeit die Globel zum großen Teil einzeln geschrieben.
Das ist nur die halbe Miete, du gehst den Kern des Problems aber nicht an. Erzeuge keine GUIs in Funktionen sondern verwende nur GUISetState um die GUIs anzuzeigen!
HIer mal ein minimales Beispiel:
Code
Opt("GUIOnEventMode", 1)
$hGUI_1 = GUICreate("Form1", 274, 116, 192, 124)
GUISetOnEvent(-3, _ExitApp, $hGUI_1)
$hBtn_1 = GUICtrlCreateButton("Goto Form 2", 56, 32, 161, 41)
GUICtrlSetOnEvent(-1, "_SwitchForm")
$hGUI_2 = GUICreate("Form2", 274, 116, 192, 124)
GUISetOnEvent(-3, _ExitApp, $hGUI_2)
$hBtn_2 = GUICtrlCreateButton("Goto Form 1", 56, 32, 161, 41)
GUICtrlSetOnEvent(-1, "_SwitchForm")
GUISetState(@SW_SHOW, $hGUI_1)
While Sleep(1000)
WEnd
Func _ExitApp()
Exit
EndFunc
Func _SwitchForm()
ConsoleWrite("Die GUI wird nun gewechselt." & @CRLF)
Switch @GUI_CtrlId
Case $hBtn_1
GUISetState(@SW_HIDE, $hGUI_1)
GUISetState(@SW_SHOW, $hGUI_2)
Case $hBtn_2
GUISetState(@SW_HIDE, $hGUI_2)
GUISetState(@SW_SHOW, $hGUI_1)
EndSwitch
EndFunc
Alles anzeigen