在Delphi中编程(在xe2中)我在一个dll中有一个程序,它返回一个pSafeArray
我知道它应该指向一个double数组来检索一个我不能使用的元素safearraygetelement(),因为它使用了一个VarArray输入参数.这将导致不兼容的类型编译器错误.获取元素的正确方法是什么?
该SafeArrayGetElement功能在ActiveX单位中定义为
function SafeArrayGetElement(psa: PSafeArray; const rgIndices; out pv): HResult; stdcall;
Run Code Online (Sandbox Code Playgroud)
因此,您可以将此功能与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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
800 次 |
| 最近记录: |