POO: Classe derivée

Résolu
naugondo Messages postés 4 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 14 avril 2006 - 14 avril 2006 à 10:37
cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012 - 14 avril 2006 à 12:17
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

cs_shining Messages postés 304 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 10 mars 2012
14 avril 2006 à 12:17
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 !!!
3
Rejoignez-nous