Latest post of the previous page:
наоборот, до 6478 история сохранялась даже при неудачной попытке закрытия диалога, после — только после удачной.Taciturn wrote: Sat 06 Dec, 2025 07:18т.е. после изменения история не должна была сохраняться после определённого события, а начала.
как всё сложно в этом вашем фаре. попробуйте так:
Code: Select all
F=far.Flags
dlgId=win.Uuid far.Guids.MakeFolderId
EditIdx=3
ChkBoxIdx=9
Event
id:'d7e5bd30-1d2c-4d5d-906a-d0114ceaa4de'
group:'DialogEvent'
action:(event,param)->
dlg=param.hDlg
id=->
id=dlg\send F.DM_GETDIALOGINFO
id and id.Id or ""
if event==F.DE_DLGPROCEND and param.Msg==F.DN_CLOSE and dlgId==id!
text=dlg\send F.DM_GETTEXT,EditIdx
dlg\send F.DM_ADDHISTORY,EditIdx,text
if 0<dlg\send F.DM_GETCHECK,ChkBoxIdx
res={}
for w in text\gmatch"[^|]+" do res[#res+1]='"'..w..'"'
text=table.concat res,';'
dlg\send F.DM_SETTEXT,EditIdx,text
elseif event==F.DE_DLGPROCINIT and param.Msg==F.DN_INITDIALOG and dlgId==id!
data=far.GetDlgItem dlg,EditIdx
data[9]=bit64.bor data[9],F.DIF_MANUALADDHISTORY
far.SetDlgItem dlg,EditIdx,data