Глобальные переменные решил вынести в отдельный файл с #Region (спасибо Yashied, пост http://autoit-script.ru/index.php?topic=3130.0), вот так:
Такого счастья еще пару раз.
Перед запуском цикла запускается первое окно, переменные(см. выше) инициализируются и все проходит на ура. Второе окно должно запускаться первый раз только после нажатия на кнопку edit(см. выше), до этого момента переменные для второго окна еще не инициализированны(хотя глобально определены). Тем не менее, программа запускает $sf_save или $sf_canc (смотря, что первое стоит) до нажатия на edit в первом окне. Вопрос такой: Как это решить?
Код:
#Region main frame glob
Global $hGUI_main
Global $mf_cat_add, $mf_cat_edi, $mf_cat_sav, $mf_cat_und, $mf_cat_red, $mf_cat_del, $mf_cat_sea
#EndRegion
Такого счастья еще пару раз.
Код:
_main_frame() ; запуск основного окна программы
While 1
$aMsg = GUIGetMsg(1)
Switch $aMsg[1]
; main window
Case $hGUI_main
Switch $aMsg[0] ; тут обработка кнопок первого окна
Case $GUI_EVENT_CLOSE
ExitLoop
Case $mf_pur_in
; код
Case $mf_cat_add
; код
Case $mf_cat_edi ; кнопка edit - пользуюсь для тестового запуска 2го окна
_save_frame() ; тут запускается второе окно
Case $mf_cat_sav
Case $mf_cat_und
Case $mf_cat_red
Case $mf_cat_del
Case $mf_cat_sea
EndSwitch
; save window
Case $hGUI_save ; обработка того самого второго
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE
;~ GUIDelete($hGUI_save)
Case $sf_save ; кнопка сохранения
; код
Case $sf_canc ; кнопка отмены
;~ GUIDelete($hGUI_save)
EndSwitch
EndSwitch
WEnd
Перед запуском цикла запускается первое окно, переменные(см. выше) инициализируются и все проходит на ура. Второе окно должно запускаться первый раз только после нажатия на кнопку edit(см. выше), до этого момента переменные для второго окна еще не инициализированны(хотя глобально определены). Тем не менее, программа запускает $sf_save или $sf_canc (смотря, что первое стоит) до нажатия на edit в первом окне. Вопрос такой: Как это решить?