Тема: Ошибка при работе с процедурой CopyObjects в Delphi
Всем привет.
Требуется помощь.
При использовании процедуры CopyObjects выдается сообщение с ошибкой что неправильный массив данные. Вопрос. Есть ли у кого подобный пример для работы с этой процедурой. Повторение примера из Basic не прокатывает при всех ухищрениях передачи данных в процедуру. Все вроде делается по аналогии, но не работает. Текст приведен ниже.
var TargetDoc, SourceDoc, oBlocks, tBlocks, IDPairs, p1, RetVal, objCopy : OleVariant; BlockName, FileName : String; I,N :Integer; begin AcConnect(rsDefClassName, False, True); n := Acad.Documents.Count; For i := 0 To n - 1 do begin showmessage(Acad.Documents.Item(i).Name); If Acad.Documents.Item(i).Active = True Then targetDoc := Acad.Documents.Item(i); //'комплект-набор текущего файла end; FileName := 'D:\YandexDisk\LibraryBlk.dwg'; // Блок1, Блок2 SourceDoc := Acad.Documents.Open (FileName); n := Acad.Documents.Count; For i := 0 To n - 1 do begin If Acad.Documents.Item(i).FullName = FileName Then SourceDoc := Acad.Documents.Item(i); //'комплект-набор файла источника end; // N:=1; // RetVal:= VarArrayCreate([0,N-1], varVariant); //попытка передать данные через массив // objCopy:= VarArrayCreate([0,N-1], varVariant); //попытка передать данные через массив oBlocks := SourceDoc.Blocks; tBlocks := TargetDoc.Blocks; blockName := 'Блок1'; //N := SourceDoc.Count; I := oBlocks.Count; for I := 0 to I-1 do begin If oBlocks.Item(i).Name = blockName Then begin objCopy := oBlocks.Item(blockName); end; end; RetVal := sourceDoc.CopyObjects(objCopy, tBlocks, IDPairs); // проблема в передаче выдается ошибка "неверный массив объектов".