Помогите разобраться.
Использую такую функцию дочернего окна.
Если просто нажимать на кнопку Сохранить то создается файл config.ini и в него записываются все необходимые значения, но если нажать на кнопку выбора редактора и выбрать любой файл, то после нажатия на кнопку сохранить ни чего не сохраняется в файл config.ini, хотя переменная $sIniItemPrg принимает нужное значение. В чем может быть дело?
Использую такую функцию дочернего окна.
Код:
Func _Settings_Dlg($hParent = 0)
Local $hSettings, $iGOEM_Opt, $proba_ChckBx
;Предотвращение проблем в случае если главный GUI использует режим событий
$iGOEM_Opt = Opt("GUIOnEventMode", 0)
$hSettings_GUI = GUICreate('Настройки', 486, 411, -1, -1, -1, -1, $hParent)
$SaveBtn = GUICtrlCreateButton ("Сохранить", 33, 350, 190, 30) ; кн "Сохранить"
$ExitSattingsBtn = GUICtrlCreateButton ("Выход", 249, 350, 190, 30) ; кн "Выход"
$proba_ChckBx = GUICtrlCreateCheckbox("проба", 20, 20)
GUICtrlCreateLabel('Редактор:', 14, 43, 58, 64)
$nIniItemPrg_Input = GUICtrlCreateInput($sIniItemPrg, 74, 40, 248, 19)
GUICtrlSetState(-1, $GUI_DISABLE)
;~ $IniItemPrg_Source = $sIniItemPrg
$IniItemPrg_name_Button = GUICtrlCreateButton('...', 326, 39, 21, 21)
GUISetState(@SW_DISABLE, $hParent)
GUISetState(@SW_SHOW, $hSettings_GUI)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $ExitSattingsBtn
ExitLoop
Case $IniItemPrg_name_Button
$Path_IniItemPrg = FileOpenDialog("Выберете редактор", @ProgramFilesDir & "\", "Files (*.exe)", 3, _
StringRegExpReplace(GUICtrlRead($nIniItemPrg_Input), "^.*\\", ""), $nMsg)
If @error Then
ContinueLoop
EndIf
GUICtrlSetData($nIniItemPrg_Input, $Path_IniItemPrg)
Case $SaveBtn
;~ $proba = Number(GUICtrlRead($proba_ChckBx) = $GUI_CHECKED)
$sIniItemPrg = GUICtrlRead($nIniItemPrg_Input)
;~ MsgBox(0,"11111111",$sIniItemPrg)
IniWrite($ConfigFile, "Main", "IniItemPrg", $sIniItemPrg)
MsgBox(0,"Сообщение...","Сохранено")
ExitLoop
EndSwitch
WEnd
Opt("GUIOnEventMode", $iGOEM_Opt)
GUISetState(@SW_ENABLE, $hParent)
GUIDelete($hSettings_GUI)
EndFunc
Если просто нажимать на кнопку Сохранить то создается файл config.ini и в него записываются все необходимые значения, но если нажать на кнопку выбора редактора и выбрать любой файл, то после нажатия на кнопку сохранить ни чего не сохраняется в файл config.ini, хотя переменная $sIniItemPrg принимает нужное значение. В чем может быть дело?