Вверх ↑
Ответов: 1925
Рейтинг: 172
#1: 2017-11-21 18:24:52 ЛС | профиль | цитата
Решил сделать такой код:

Add(InlineCode,7379325,322,217)
{
@Hint=#10:SRData 2.0|
DataPoints=#5:dtPH_|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|17: ini:PIniFile;|31: procedure RestoreData_3042;|9: public|45: //PHandle всех компонентов для сохранения|20: dtPH_:THI_Event;|0:|23: constructor Create;|33: destructor Destroy; override;|0:|5: end;|0:|14:implementation|0:|31:constructor THiAsmClass.Create;|5:begin|18: inherited Create;|27: InitAdd(RestoreData_3042);|4:end;|0:|31:destructor THiAsmClass.Destroy;|5:begin|16: //SaveData_3042|67: ini := OpenIniFile(GetStartDir + '1.ini'); //Указать имя ini-файла|50: ini.Section := 'main'; //Указать секцию ini-файла|22: ini.Mode := ifmWrite;|45: //Указываем ключи и соотв. свойства объектов|63: ini.ValueInteger('left',PControl(ToIntegerEvent(dtPH_)).Left);|3: //|19: Free_And_Nil(ini);|19: inherited Destroy;|4:end;|0:|39:procedure THiAsmClass.RestoreData_3042;|5:begin|1: |17: //_hi_OnEvent();|4:end;|0:|4:end.|
link(dtPH_,2214374:PHandle,[])
}
Add(Button,2214374,322,140)
{
Left=190
Top=25
Name="789"
Point(PHandle)
}
, чтобы сохранять и загружать свойства при закрытии/открытии программы. Код пока ещё не дописан. Но с загрузкой, кажется, проблем не будет, т.к. используется InitAdd, к-ый срабатывает, когда все объекты будут загружены. Я прав?

А вот с сохранением вопрос: Destroy в IC не может сработать уже после того, как остальные объекты будут уничтожены (в т.ч. те, св-ва которых сохраняем)? Т.е. интересует порядок выполнения Destroy разных объектов.
карма: 9
0