请问定义为 aa= interface(IDispatch) 这样的接口如何调用其中的过程与函数? ( 积分: 200 )

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

andywan

Unregistered / Unconfirmed
GUEST, unregistred user!
请问定义为 aa= interface(IDispatch) 

function b: OleVariant
safecall;
procedure c(P1: OleVariant)
safecall;

end;


这样的接口如何调用其中的过程与函数?
 
请问定义为 aa= interface(IDispatch) 

function b: OleVariant
safecall;
procedure c(P1: OleVariant)
safecall;

end;


这样的接口如何调用其中的过程与函数?
 
连接点。

不晓得我说的对不对....
在delphi里面可以直接idispatch.invoke

顺便问一下谁知道 dispinterface包装的函数怎么调用
 
是问题太简单了,,还是?....
由于工作关系没什么时间查资料,请有知道告诉一下,谢谢
 
再次提前
 
我在这里贴了一些资料,你看看去????
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3189884
 
我说我的看法,接口是一个空壳,可以理解成函数声明,如果没有定义,那么这个函数还是不能用,所以如果要用这个接口,就需要让类去实现这个接口,然后用这个类的方式,

比如TClasss1= class(TInterfaceobject, aa)// 这里的TinterfaceObject是实现了IUnknow那三个方法的类,所以继承的类就不用特别写AddRef, QueryInterface等三个函数了,
function b: OleVariant
safecall;
procedure c(P1: OleVariant)
safecall;
end;

在下面实现这两个方法

然后你在使用的时候可以这样

var
a :aa;// 声明接口类型
begin
a := TClass1.Create;// 创建类的实例
a.c(xxx);
a.Free;
end;

在网吧里写的,大概意思就是类实现接口,然后使用的时候用接口声明,但是用类去创建实例,供参考
 
后退
顶部