Composant : Propriétés qui n'apparaissent pas dans l'inspecteur d'objects

Résolu
Utilisateur anonyme - 21 mai 2008 à 10:58
 Utilisateur anonyme - 21 mai 2008 à 16:06
Salut à tous,

Je réalise un composant en ce moment et je ne dois pas avoir les yeux en face des trous (Une ptite baisse de régime ) :

 TAutoWah=Class
  Protected
    fBeginEffect:Real;
    fEndEffect:Real;
    fDry :Real;
    fWet:Real;
    fFeedback:Real;
    fRate:Real;
    fRange:Real;
    fFreq:Real;
  published
    Property BeginEffect:Real Read fBeginEffect Write fBeginEffect;
    Property EndEffect:Real Read fEndEffect Write fEndEffect;
    Property Dry:Real Read fDry Write fDry;
    Property Wet:Real Read fWet Write fWet;
    Property Feedback:Real Read fFeedback Write fFeedback;
    Property Rate:Real Read fRate Write fRate;
    Property Range:Real Read fRange Write fRange;
    Property Freq:Real Read fFreq Write fFreq;
  End;     

 TTrack=class(TCollectionItem)
  protected
    fFileName:String;
    fPicture : TPicture;
    fBeginTime:Cardinal;
    fEndTime:Cardinal;
    fSoundFont:String;
    fAutoWah:TAutoWah;
    Procedure SetPicture(Value:TPicture);
    Procedure SetBeginTrack(Value:Cardinal);
    Procedure SetEndTrack(Value:Cardinal);
  public
    constructor Create(ACollection: TCollection); override;
    destructor Destroy; override;
  published
    property Picture : TPicture Read FPicture Write SetPicture;
    Property FileName:String Read fFileName Write fFileName;
    Property BeginTime:Cardinal Read fBeginTime Write SetBeginTrack;
    Property EndTime:Cardinal Read fEndTime Write SetEndTrack;
    Property SoundFont:String Read fSoundFont Write fSoundFont;
    Property AutoWah:TAutoWah Read fAutoWah Write fAutoWah;
  end;

Quand je regarder dans l'inspecteur d'objects j'ai bien AutoWah qui apparait mais les propriétés de ce dernier, elles n'apparaissent pas. Je pense qu'il doit y avoir un truc con que je zappe dans l'histoire.

Merci

A++

4 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
21 mai 2008 à 15:22
tu laisses le persistent et dans le Constructeur de TTrack tu le crée ^^
fAutoWah := TAutoWah.Create(Self);

ajoute aussi un Setter
procedure SetAutoWah(Value: TAutoWah);
...
Property AutoWah:TAutoWah Read fAutoWah Write SetAutoWah;

voilà là ça devrait fonctionner

ps: pas besoin de mettre fAutoWah.Free; dans le Destructeur de TTrack
 
@+
Cirec

<hr siz="" />
3
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
21 mai 2008 à 12:23
Salut,

je sais pas si j'ai bien compris mais dans l'inspecteur d'objets tu as la propriété AutoWah mais pas d'accès à ses propriétés.

Essaye voir de dériver  TAutoWah de TPersistent
 TAutoWah = Class(TPersistent)

il me semble que c'est le minimum pour avoir les propriétés dans l'inspecteur d'objets

 
@+
Cirec

<hr siz="" />
0
Utilisateur anonyme
21 mai 2008 à 12:58
Une petiteimageparle mieux

Effectivment les propriétés de AutoWah ne sont pas visibles malgré le TPersistent
0
Utilisateur anonyme
21 mai 2008 à 16:06
Allez un gros poutoux à Cirec
0
Rejoignez-nous