用vc++编写的com组件中的接口问题!(在线等待)(200分)

  • 主题发起人 主题发起人 zranran
  • 开始时间 开始时间
Z

zranran

Unregistered / Unconfirmed
GUEST, unregistred user!
用vc++编写的com组件中的B接口函数getdata返回类型是dispatch,是指向A对象指针的指针
我声明的A
比如 aaaa:A;
bbbb:B

aaaa:=bbbb.getdata;
报错
[Error] test.pas(151): Incompatible types: 'A' and 'IDispatch'
在VC和VB中都能这样直接调用!!!!!!
请问在DELPHI中应该怎样调用呀!!!!!
 
aaaa := bbb.getdata as A
 
to sofox
不行呀
[Error] test.pas(151): Operator not applicable to this operand type
 
你的A是什么?Object or Interface?
如果
type
A = interface(IDispatch)
...
end;

aaa: A;

那么
aaa := b.getdata as A
一定可以
如果
type
A = interface(IUnknown)
...
end;
那么试试
c: IDispatch;
aaa: A;

c := b.getdata
c.queryInterface(A, aaa);
 
接受答案了.
 
后退
顶部