Problème de propriétés avec un composant C++Builder 5

Problème de propriétés avec un composant C++Builder 5 - C++ - Programmation

Marsh Posté le 25-05-2004 à 18:12:02    

Salut à tous, je vais essayer d'être clair...
J'ai créé un composant pour c++builder 5 qui est composé d'une classe mère qui hérite de TComponent et de 2 sous-classes qui héritent de TPersistent pour leur permettre d'avoir aussi des propriétés (à l'image de TSizeConstraints pour un bouton par exemple).
Le problème est le suivant :
A la création, dans l'inspecteur d'objets, les propriétés s'affectent correctement (vérification avec un ShowMessage() dans le Set de la propriété).
Par contre, au lancement de l'application, je me retrouve avec les valeurs par défaut et non pas avec les valeurs mises lors de la création par l'inspecteur d'objet...:pt1cable:  
Help !

Reply

Marsh Posté le 25-05-2004 à 18:12:02   

Reply

Marsh Posté le 26-05-2004 à 00:38:38    

Hello,
 
1) as-tu initialisé tes valeurs dans le constructeur ?
2) as-tu mis les read et write dans les propriétés pour les modifications ?

Reply

Marsh Posté le 26-05-2004 à 00:46:15    

As-tu bien structuré les propriétés à problèmes de cette manière ?
 
.h

Code :
  1. private:
  2. bool FFlashing ;
  3. __published:
  4. __property bool Flashing ={read=FFlashing, write=FFlashing, default=0};


 
.cpp

Code :
  1. //constructeur
  2. __fastcall TFlashingLabel::TFlashingLabel(TComponent* Owner)
  3.     : TLabel(Owner)
  4. {
  5.     FFlashing = true ;
  6. }


 
Si ca marche toujours pas, poste un bout du code qui pose problème
 
En espérant avoir aidé

Reply

Marsh Posté le 26-05-2004 à 08:58:39    

Merci mais...
les propriétés sont bien de cette forme avec des méthodes set et get mais le problème (je pense) vient du fait que les propriétés soient dans des sous-classes de mon composant :-|
ps : je vois pas pourquoi ca poserait problème

Reply

Marsh Posté le 26-05-2004 à 11:15:40    

Tu as bien déclaré ton objet sous classes dans la classe mère ?
 
et dans le constructeur de la classe mère tu affecte les propriétés
 
SousCompo->MaVar = "..." ;
 
 
Sinon de bonnes astuces pour les composants la
http://chgi.developpez.com/compo/
 
ou sinon poste un bout de code ;)
 

Reply

Marsh Posté le 26-05-2004 à 16:32:54    

c'est bon, le problème venait d'ailleurs : l'absence de write dans la propriété représentant la sous-classe dans la classe mère met une sorte de protection qui ne permet pas de changer des propriétés des sous-classes...
Je me disais que seul le read suffisait pour accèder à la sous-classe qui allait, elle, s'occuper de ses propres propriétés, mais en fait non ... :)
 
Merci quand même

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed