在 Delphi 中编程(在 xe2 中)我在 dll 中有一个过程,它返回 apSafeArray
我知道它应该指向一个 double 数组来检索我不能使用的元素safearraygetelement()
,因为它使用 aVarArray
作为输入参数。这将导致incompatible-types-compiler-error。获取元素的正确方法是什么?
问问题
948 次
1 回答
5
该SafeArrayGetElement
函数在ActiveX
单元中定义为
function SafeArrayGetElement(psa: PSafeArray; const rgIndices; out pv): HResult; stdcall;
因此,您可以将此函数与 PSafeArray 一起使用。试试这个样本
var
LArray: PSafeArray;
rgIndices, LBound, HBound : Integer;
DoubleValue: Double;
begin
//LArray:=.....
SafeArrayGetLBound(LArray, 1, LBound);
SafeArrayGetUBound(LArray, 1, HBound);
for rgIndices := LBound to HBound do
begin
SafeArrayGetElement(LArray, rgIndices, DoubleValue);
// do something
end;
end;
于 2012-08-05T17:34:19.870 回答