关于IDispatch...(100分)

  • 主题发起人 主题发起人 Tintin
  • 开始时间 开始时间
T

Tintin

Unregistered / Unconfirmed
GUEST, unregistred user!
IDispatch到底有什么特殊的东东在里面?
不是说接口里不能有数据吗?
那么下面的MyProperty是怎么实现的?
ITest = interface(IDispatch)
['{830A58E1-2B92-11D4-AB14-0080C8E9B7B3}']
procedure OnStartPage(const AScriptingContext: IUnknown);
safecall;
procedure OnEndPage;
safecall;
function Get_Tintin: Integer;
safecall;
procedure Set_Tintin(Value: Integer);
safecall;
property MyProperty: Integer read Get_MyProperty write Set_MyProperty;
 
接口不能有数据是指不能做如下声明:
ITest = interface(IDispatch)
['{830A58E1-2B92-11D4-AB14-0080C8E9B7B3}']
myint : integer;
//You can'tdo
this
而且它声明的所有函数、方法、属性都是虚的。
你看看它的方法,具体实现都是在类的实例中实现的。
它的属性也是这样。看看你手头的代码,它的Get_MyProperty
和 Set_MyProperty 一定都是在类的实例中实现的。
 
接受答案了.
 
后退
顶部