一个关于delphi+corba+safearray的问题(100分)

  • 主题发起人 主题发起人 ylzxg
  • 开始时间 开始时间
Y

ylzxg

Unregistered / Unconfirmed
GUEST, unregistred user!
在corba中声明一个safearray型参数的输入函数,
声明如下:
HRESULT _stdcall GetSafeArray([out] SAFEARRAY(unsigned char) * psa, [out] long * Len );
编译过后在tlb单元中生成如下代码
procedure TtestStub.GetSafeArray(out psa: PSafeArray
out Len: Integer);
var
OutBuf: IMarshalOutBuffer;
InBuf: IMarshalInBuffer;
begin
FStub.CreateRequest('GetSafeArray', True, OutBuf);
FStub.Invoke(OutBuf, InBuf);
raise Exception.Create('Unsupported parameter type: VT_SAFEARRAY psa');//这里??
Len := InBuf.GetLong;
end;

以后客户端调用此函数就报灾难性故障

请问各位高手该如何做
 
后退
顶部