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

Résolu
Signaler
-
 Utilisateur anonyme -
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

Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
46
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="" />
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
46
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="" />

Une petiteimageparle mieux

Effectivment les propriétés de AutoWah ne sont pas visibles malgré le TPersistent

Allez un gros poutoux à Cirec