关于接口的定义(20分)

  • 主题发起人 主题发起人 maikee1978
  • 开始时间 开始时间
M

maikee1978

Unregistered / Unconfirmed
GUEST, unregistred user!
在类的定义中
type
TForm1=class
......
TForm1=Class(TForm)
......
上面的定义是错误非法的,但在TLB接口定义中
type
IAutoTest = interface;//
IAutoTestDisp = dispinterface;
AutoTest = IAutoTest;
IAutoTest = interface(IDispatch)//
['{29C5A8F5-39B3-4CF3-9C5F-C1A0A9C0800D}']
end;
接口IAutoTest被定义了两次,这里该怎么理解的呢?第一次iAutoTest=Interface说明什么?第二次IAutoTest=Interface(IDispath)又说明的是什么?
 
小b十气,才20分
 
20分不少了啊,当然了,给了答案嫌分少的再给啊。呵
 
13708782004
给说说,分给你加
 
type
TForm1=class;
//这里加个分号“;”就合法了!这叫forward 声明!!!!!Interface里面也是如此。
......
TForm1=Class(TForm)
 
forward声明的意义在于,两个类如果要互相引用,这样编译器就可以看见下面的类声明了
type
TForm1 = class;

TFormShower = class (TObject);
private
Form1: TForm1;
...
end;

TForm1 = class(TForm);
private
Shower: TFormShower;
....
end;
 
接受答案了.
 
后退
顶部