Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.10;
Скачать: CL | DM;

Вниз

Открытые массивы и 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 вся ветка

Текущий архив: 2008.08.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
15-1214285799
Slider007
2008-06-24 09:36
2008.08.10
С днем рождения ! 24 июня 2008 вторник


2-1215418081
IGray
2008-07-07 12:08
2008.08.10
Экспорт ветки реестра в REG-файл без Regedit-a.


1-1196253404
Elec3C
2007-11-28 15:36
2008.08.10
Приоритет программ через CreateProcess


15-1214552185
Desdechado
2008-06-27 11:36
2008.08.10
Каталогизатор знаний


15-1214210046
тимохов
2008-06-23 12:34
2008.08.10
Вопрос про идеологию работы с реестром в CURRENT_USER