POO: Classe derivée

[Résolu]
Signaler
Messages postés
4
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
14 avril 2006
-
Messages postés
304
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2012
-
Bonjour !!

J'aimerais créer un nouveau composant qui implementrai une interface ISujet

Voici mon code :

type

TClignotementTimer = class (TComponent,TInterfacedObject,ISujet)
code ...
end;

Le déboggeur Delphi m'envoie le messege suivant : "Type Interface nécessaire"

=> En delphi peut -on le faire ? merci d'avance

1 réponse

Messages postés
304
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2012

nop ta déclaration est fausse !!!
bon je ne guarantie rien néanmoins il me semble plus logique de faire hérité ton Interface TGraph d'une Interface de type 'TInterfacedComponent'
comme ceci

TInterfacedComponent = class(TComponent , IInterface)
protected
FRefCount: Integer;
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall;
public
procedure AfterConstruction; override;
procedure BeforeDestruction; override;
class function NewInstance: TObject; override;
property RefCount: Integer read FRefCount;
end;

TGraph = class (TInterfacedComponent ,IDraw)<=== là c'est ok tu hérite d'une Interface de type TComponent
public
procedure Draw(Canvas:TCanvas);virtual;abstract;
Destructor Destroy;override;
end;

par contre va falloir prendre en charge l'implémentation de

_AddRef;_Release; ect...
en gros AddRef et Release fixe la durée de vie de ton Objet !!!