有关type library中定义method的参数问题,急,急,急!!!(30分)

  • 主题发起人 主题发起人 go2
  • 开始时间 开始时间
G

go2

Unregistered / Unconfirmed
GUEST, unregistred user!
该方法的参数是可变数组,在一个函数中简单的写"aa : array of string"即可,
可是在type library中我要如何定义?
 
没有人了解吗,没有人用type library建立com吗?
在com中的method不能用数组吗?
 
用Variant* 就可以了
 
使用Variant是一种不错的方法,不过对于需要获得数据长度的话就有些麻烦(我还不知道
如何去获取)。另外可以使用SafeArray,那是一个内存区域,你可以将你的内容写到此区
域,使用类似C/C++的 void *,你可以试试,不过要注意释放,否则...-:)
相关函数:
function SafeArrayCreate;
function SafeArrayCopyData;
function SafeArrayDestroyData;
function SafeArrayDestroy;
function SafeArrayRedim;
function SafeArrayGetDim;
function SafeArrayGetElemsize;
function SafeArrayGetUBound;
function SafeArrayGetLBound;
function SafeArrayLock;

function SafeArrayUnlock;

function SafeArrayAccessData;
function SafeArrayUnaccessData;
 
to mylittleboy :
我将参数定义为Variant* 后,代码显示如下:
procedure TUnit1.Test(var aa: OleVariant);
begin
//showmessage(aa[0]);
end;
我要如何得到传进来的参数的各个数组值,谢谢!
 
接受答案了.
 
后退
顶部