Форум: "Corba";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];
ВнизОткрытые массивы и IDispatch Найти похожие ветки
← →
atruhin © (2006-05-22 19:24) [0]Еще вопрос. Мало работал с COM :(.
Нужно предать в процедуру открытый массив.
Как лучше описывать procedure A(V: variant);
и создавать вариантный массив, или можно по другому?
← →
Polevi © (2006-05-23 09:40) [1]нормально
VarArrayCreate, VarArrayLock и тд
← →
tesseract © (2006-05-26 14:03) [2]используй SafeArray.
Так примерчик :
function TCustomAddIn.GetNParam(var pArray : PSafeArray; lIndex: Integer ): OleVariant;
var varGet : OleVariant;
begin
SafeArrayGetElement(pArray,lIndex,varGet);
result := varGet;
end;
// просто функция для работы с psafeARRAY
// используйте для присвоению элементу массива значения
procedure TCustomAddIn.PutNParam(var pArray: PSafeArray; lIndex: Integer; var varPut: OleVariant);
begin
// импортирована из ActiveX
SafeArrayPutElement(pArray,lIndex,varPut);
end;
// Функция для получения размера pSafeArray
function TCustomAddIn.GetArrSize(var pArray: PSafeArray): integer;
begin
result:=pArray.rgsAbound[0].cElements;
end;
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c