请问在delphi里面调用vc++做的com组件的问题(30分)

  • 主题发起人 主题发起人 audnyhu
  • 开始时间 开始时间
A

audnyhu

Unregistered / Unconfirmed
GUEST, unregistred user!
IAMTest := CreateComObject(constClassID) as IBankAuditMetaData已经没问题了,
返回的接口也检验过了不是nil。但是一调用接口里面的方法就产生访问地址错误。
我觉得是参数给错了,但是我又不知道应该怎么给,请各位帮忙看看。

在vc++里面对我要调用的函数的参数定义是[in] BSTR youName,[out]long* IRetVal

import这个dll之后,在delphi里生成的TLB文件中,对我要调用的函数的声明是这样的
procedure HULING(const youName: WideString
out lRetVal: Integer)
safecall;

我想问的是,我创建了对象IAMTest之后,调用HULING这个函数,应该怎么给参数,请给
个例子。谢谢。
 
VC的函数一般都声明为stdcall的,
按照你说的在VC中的声明,PASCAL的声明应该如下
procedure HULING(YourName:PChar;out var lRecVal:Integer);stdcall;

不管对不对,这种问题30分太少了
 
后退
顶部