Энциклопедия:
Code: Select all
Return
TRUE - если процедура обработки диалога изменила данные.
FALSE - изменений не было.
...
Если изменения были и обработчик диалога вернул системе значение FALSE, то изменённые данные не будут восприняты.
Code: Select all
$dialog = $Far.CreateDialog(-1, -1, 52, 3)
$edit = $dialog.AddEdit(1, 1, 50, '')
$dialog.add_Initialized({
$_.Ignore = $false # DN_INITDIALOG will return TRUE ("changed")
$edit.Text = 'my edit' # yes, the text is set
$edit.Line.Caret = 3 # no, not changed
})
$null = $dialog.Show()
Пример 2, скрипт на FarNet.PowerShellFar:
Code: Select all
$dialog = $Far.CreateDialog(-1, -1, 52, 3)
$edit = $dialog.AddEdit(1, 1, 50, '')
$dialog.add_Initialized({
$_.Ignore = $true # DN_INITDIALOG will return FALSE ("not changed")
$edit.Text = 'my edit' # yes, the text is set
$edit.Line.Caret = 3 # yes, it is changed
})
$null = $dialog.Show()
Как понимать? Что-то не так в энциклопедии или Фаре, или у меня в FarNet?
(Я честно подебажил и убедился в возвращаемых значениях, как описано выше).