DN_INITDIALOG не вызывается при FDLG_NONMODAL?

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

DN_INITDIALOG не вызывается при FDLG_NONMODAL?

Post by NightRoman »

Описание проблемы в комментариях скрипта ниже. Это баг или фича?
Может, как-то особенно инициализация должна вызываться для немодальных диалогов?

Code: Select all

<#
	DN_INITDIALOG не вызывается при FDLG_NONMODAL?

(1) Запустить командой модуля PowerShellFar плагина FarNet:

	ps: ./Try-NoModal-NoInit.far.ps1

(2) Ожидается, что в этом немодальном диалоге, как и в обычном,
вызывается DN_INITDIALOG, обработчик которого в скрипте меняет
текст 'Not initialized' на 'Initialized!'. Этого не происходит.

(*) Если немодальный Open() заменить на модальный Show(),
то инициализация работает, как ожидается.
#>

$d = $Far.CreateDialog(-1, -1, 52, 4)
$t = $d.AddText(1, 1, 50, 'FDLG_NONMODAL --> no DN_INITDIALOG?')
$e = $d.AddEdit(1, -1, 50, 'Not initialized')

$d.add_Initialized({
	$_.Control.Text = 'Initialized!'
})

$d.Open()
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

DN_INITDIALOG не вызывается при FDLG_NONMODAL?

Post by Shmuel »

NightRoman, проверил простейшим Lua-скриптом, у меня на последнем билде Фара это работает.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

DN_INITDIALOG не вызывается при FDLG_NONMODAL?

Post by buniak_a_h »

Shmuel, far.Dialog - это, по-моему, модальный диалог. Чтобы показать немодальный диалог я использую far.DialogInit. Не?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

DN_INITDIALOG не вызывается при FDLG_NONMODAL?

Post by NightRoman »

Shmuel, спасибо, это помогло мне взглянуть на свой код под другим углом и найти ошибку. Теперь все работает, как надо.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

DN_INITDIALOG не вызывается при FDLG_NONMODAL?

Post by Shmuel »

buniak_a_h wrote: Wed 05 Jan, 2022 02:47 far.Dialog - это, по-моему, модальный диалог. Чтобы показать немодальный диалог я использую far.DialogInit. Не?
Нет, немодальность диалога определяется флагом FDLG_NONMODAL.
Post Reply

Return to “Разработка плагинов”