Вверх ↑
Ответов: 1931
Рейтинг: 174
#1: 2017-11-24 18:55:40 ЛС | профиль | цитата
andrestudio, собственно, у меня было так же
http://forum.hiasm.com/post/224759

Но так как при обновлении с svn приходится всё заново настраивать (и не только это, ведь есть ещё нестандартные компоненты), решил избавиться от изменений в win.pas wincontrol...
И просто сделать IC для таковой загрузки/сохранения.

andrestudio писал(а):
з.ы у меня ошибка RuntimeError при закрытии (может из за того что win.pas у меня другой).

Странно. Это может быть, если точка не подключена, у меня никаких ошибок нет. А win, кстати, там и не нужен, я его уже убрал из uses.

flint2 писал(а):
У меня, как мне кажется, похожая задача.
Есть какой-то "главный" кубик и куча периферийных.
В "главном" кубике есть список, в который при старте программы, периферийные кубики передают свои "имена" после чего главный кубик вызывает одну и ту-же процедуру в периферийных кубиках согласно списка. Конечно можно на точку onCreate главной формы повесить хаб, но хочется ...


Тоже достойное применение.

--- Добавлено в 2017-11-24 18:58:39

andrestudio, а такой будет выдавать ошибку:
Add(InlineCode,11882593,294,273)
{
 @Hint=#59:Модуль загрузки/сохранения параметров в ini-файл 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|31:    fOldOnClose:TOnEventAccept;|17:    ini:PIniFile;|20:    im:TIniFileMode;|19:    procedure Init;|58:    procedure onCloseApp(Sender:PObj; var Accept:Boolean);|26:    procedure SRData_3042;|9:   public|45:    //PHandle всех компонентов для сохранения|21:    dtPH_: THI_Event;|0:|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;|5:begin|20: fOldOnClose := nil;|64: if Assigned(Applet.OnClose) then fOldOnClose := Applet.OnClose;|30: Applet.OnClose := onCloseApp;|15: im := ifmRead;|13: SRData_3042;|4:end;|0:|66: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;|5:begin|72: ini := OpenIniFile(GetStartDir + 'SRData.ini'); //Указать имя ini-файла|16: ini.Mode := im;|52: ini.Section := 'fields'; //Указать секцию ini-файла|57: //Указать точки данных, ключи и соотв. свойства объектов|81: ReadControl(dtPH_,'').Text := ini.ValueString('txt',ReadControl(dtPH_,'').Text);|3: //|19: Free_And_Nil(ini);|4:end;|0:|4:end.|
 link(dtPH_,13134892:PHandle,[])
}
Add(Edit,13134892,287,217)
{
 Left=20
 Top=20
 Width=200
 Text=""
 Point(PHandle)
}
?
Если нет, то проблема м.б. в том, что в прошлом коде fOldOnClose не обнулялся в Init.
карма: 9
0
Редактировалось 2 раз(а), последний 2017-11-24 18:58:52