|
![]() |
#1 |
Боец
|
Привет.
Согласен, но я бы забил. В стандарте на это забили 50\50. Кстати, а зачем там pack\unpack ? |
|
![]() |
#2 |
Участник
|
Смотри метод info.add. Четвертым параметром в этот метод передается класс, наследник от SysInfoAction. Дальше в этом методе есть такой код:
X++: if (_sysInfoAction)
{
packedAction = _sysInfoAction.pack();
actionClassId = classidget(_sysInfoAction);
}
else
{
packedAction = connull();
actionClassId = 0;
}
this.addSysInfoAction(_helpUrl, actionClassId, packedAction); X++: void addSysInfoAction( str _helpUrl, int actionClassId, container action) { tmpInfoTable.HelpUrl = _helpUrl; tmpInfoTable.Action = action; tmpInfoTable.ActionClassId = actionClassId; tmpInfoTable.insert(); tmpActionId[this.line()+1] = tmpInfoTable.RecId; } X++: void executeAction() { DictClass dictClass; SysInfoAction sysInfoAction; HelpGenerator helpGenerator; if (sysInfolog.ActionClassId) { dictClass = new DictClass(sysInfolog.ActionClassId); sysInfoAction = dictClass.makeObject(); sysInfoAction.unpack(sysInfolog.Action, infolog.infoActionObject()); sysInfoAction.run(); } else { helpGenerator = infolog.helpGenerator(); if (sysInfolog.HelpUrl) helpGenerator.showURL(sysInfolog.HelpUrl); else helpGenerator.showURL('INFOLOG:\\\\'+int642str(sysInfolog.RecId)); } } |
|
|
За это сообщение автора поблагодарили: dn (4), DSPIC (10). |