v8: Строковое представление объекта во внешней компоненте для 1С:Предприятие 8.0
///////////////////////////////////////////////////////////////////////
function AddInObject.CallAsFunc(lMethodNum: Integer; var pvarRetValue: OleVariant; var paParams: PSafeArray): HResult; stdcall;
{Здесь 1С выполняет код внешних функций}
var
obj : IDispatch;
obj1 : OleVariant;
obj0 : OleVariant;
var s: String;
begin
try
pvarRetValue:=0;
ErrorMsg:='';
case TMethods(lMethodNum) of
methValueToString: //ЗначениеВСтрокуВнутр
begin
obj := OleVariant(i1cv8).AppDispatch;
obj0:=GetNParam(paParams,0); //1-й параметр метода
s:=Variant(obj).ЗначениеВСтрокуВнутр(obj0);
pvarRetValue:=s; //возвращаем строку
end;
methValueFromString: begin //ЗначениеИзСтрокиВнутр
obj := OleVariant(i1cv8).AppDispatch;
s:=GetNParam(paParams,0);
obj1:=Variant(obj).ЗначениеИзСтрокиВнутр(s);
pvarRetValue:=IDispatch(obj1); //возвращаем ссылку на объект
end;
Получается строка вида:
{"#",f7d717cd-ce18-4c4d-890f-5a1750bd2527,1:8ef400112ff5cf9911dbabfa60441f54}
|