如何在Type library中实现类的继承?(100分)

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

minikiller

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个项目中需要定义一个COM的基类,它有一个属性
ConnectStr,其他的类需要继承它,请问在Delphi中如何实现!
谢谢!!!!
 
关注。
我先查查资料。
 
DELPHI的VCL源码有很多这样的例子。比如TMtsDataModule继承自TRemoteDataModule。

假设你基类实现的接口为IKissYou,其定义如下:
IKissYou = Interface(IInterface)
function Get_ConnectionString: WideString; safecall;
procedure Set_ConnectionString(const Value: WideString); safecall;
property ConnectionString: WideString read Get_ConnectionString write Set_ConnectionString;
类TKissYou实现IKissYou
TKissYou = class(TInterfaceObject, IKissYou)
protected
function Get_ConnectionString: WideString; safecall;
procedure Set_ConnectionString(const Value: WideString); safecall;
end;

项目中有许多其他的类是继承自这个基类的,比如,IKissYourMouth, IKissYourFace
IKissYourFace=interface(IKissYou)
procedure KissFace; safecall;

则类TKissYourFace只需要继承这个TKissYou即可自动获得父类的ConnectionString属性。
TKissYourFace=Class(TKissYou, IKissyourface)
procedure KissFace; safecall;
end;

procedure TKissYourFace.KissFace;
begin
if ConnectionString = 'A Pretty Girl' then
DoKissFace
else
DoNotKissFace;
end;
 
我昨天也试出来了,kiss your mouth!![8D]
 
我是不是走错门了?
 
后退
顶部