Nic писал(а):
Следует отметить определённый порядок (вот только какой - разбирайтесь) подачи параметров на точку doInvoke.Разорбрался. Компненты Automation и Invoke для работы с 1С OLE не подходят. Так 1С сервер запускается с передачей ввыде строки данных для авторизации, пути к используемой базе и режима запуска, чего нет в Automation.
А как c компонентом Invoke реализовать такое вообще не представляю
procedure THiAsmClass.doProcess(var _Data:TData; Index:Word);
Var
s : string;
t : Variant;
i : integer;
begin
Ole1C := OLEVariant(Pointer(ReadInteger(_Data, ID))^);
i := 0;
OleFizLica := Unassigned;
if not VarIsEmpty(Ole1C) then begin
OleFizLica:=Ole1C.CreateObject('Справочник.Номенклатура');
if not VarIsEmpty(OleFizLica) then begin
if OleFizLica.ВыбратьЭлементы>0 then begin
while OleFizLica.ПолучитьЭлемент>0 do
begin
_hi_onEvent(Refresh,VarToStr(OleFizLica.Код+' '+OleFizLica.Наименование)); // чисто для проверки
i:=i+1;
if (i mod 1000)=0 then _hi_onEvent(TheEnd, 'Перебор элементов продолжается');
//ListBox1.Items.Add(OleFizLica.Код+' '+OleFizLica.Наименование);
end;
end;
end;
end;
OleFizLica := Unassigned;
_hi_onEvent(TheEnd, 'Перебор элементов закончен');
end;