andrestudio, спасибо за наводку! Сделал немного по-другому, чтобы обработчик вызывался 1 раз для всего приложения, а не для каждого объекта:
Add(InlineCode,11882593,203,259)
{
@Hint=#10:SRData 2.0|
DataPoints=#5:dtPH_|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|25:uses kol,Share,Debug,win;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|23: fControl: PControl;|31: fOldOnClose:TOnEventAccept;|17: ini:PIniFile;|20: im:TIniFileMode;|26: procedure SRData_3042;|59: procedure _onCloseApp(Sender:PObj; var Accept:Boolean);|10: public |21: dtPH_: THI_Event;|19: procedure Init;|23: constructor Create;|5: end;|0:|14:implementation|0:|31:constructor THiAsmClass.Create;|5:begin|18: inherited Create;|15: InitAdd(Init);|4:end;|0:|27:procedure THiAsmClass.Init;|6:begin |64: if Assigned(Applet.OnClose) then fOldOnClose := Applet.OnClose;|31: Applet.OnClose := _onCloseApp;|15: im := ifmRead;|13: SRData_3042;|4:end;|0:|67:procedure THiAsmClass._onCloseApp(Sender:PObj; var Accept:Boolean);|5:begin|16: im := ifmWrite;|13: SRData_3042;|58: if Assigned(fOldOnClose) then fOldOnClose(Sender,Accept);|4:end;|0:|34:procedure THiAsmClass.SRData_3042;|38: function PCtl(ev:THI_Event):PControl;|42: begin Result := ReadControl(ev,''); end;|5:begin|67: ini := OpenIniFile(GetStartDir + '1.ini'); //Указать имя ini-файла|16: ini.Mode := im;|52: ini.Section := 'fields'; //Указать секцию ini-файла|57: //Указать точки данных, ключи и соотв. свойства объектов|61: PCtl(dtPH_).Text := ini.ValueString('txt',PCtl(dtPH_).Text);|3: //|19: Free_And_Nil(ini);|17: //_hi_OnEvent();|4:end;|0:|4:end.|
link(dtPH_,12985530:Var1,[])
}
Add(ChildForm,12985530,203,203)
{
}
BEGIN_SDK
Add(EditMulti,8191142,21,21)
{
VarCount=1
link(Var1,16554643:PHandle,[(27,165)(195,165)])
}
Add(MainForm,9963737,84,84)
{
Left=35
Top=105
Width=210
Height=117
}
Add(Edit,16554643,182,77)
{
Left=40
Top=25
Width=115
Point(PHandle)
}
END_SDK
Ну, вроде правильно будет, как думаете?