IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Erreur type interdit dans __property


Sujet :

C++Builder

  1. #1
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut Erreur type interdit dans __property
    Salut � tous,

    eh oui je suis encore entrain de coder (ou du moins d'essayer ) des composants.

    Bon voila mon probl�me, une erreur que je ne comprend pas et que j'arrive encore moins � corriger :

    [C++ Erreur] ImageListBoxEntries.h(25): E2109 Ce n'est pas un type autoris�
    J'ai d�fini un type : TImageListBoxEntries de la fa�on suivante :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    typedef struct
    {
       AnsiString  MainText;
       AnsiString  SubString;
       int         ImageIndex;
    } TImageListBoxEntry;
    et l'erreur se produit � la ligne suivante (de la d�claration de mon composant) :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    __property TImageListBoxEntry* Entries[int Index] = { read = GetItem, write = PutItem };
    Les deux fonctions GetItem et PutItem ont pour prototype :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    TImageListBoxEntry* __fastcall GetItem( int Index );
    void __fastcall PutItem( int Index, TImageListBoxEntry *item );
    Donc si une bonne �me pouvait m'expliquer le sens profond de cette erreur, je l'en remercie par avance !

  2. #2
    Membre exp�riment�
    Avatar de Neo41
    Inscrit en
    Janvier 2003
    Messages
    241
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 241
    Par d�faut
    Salut,

    j'ai essay� ton code sur une TForm et ca a bien compil� J'ai mis la structure ainsi que les eux fonctions et la propri�t� dans le le .h...

    Tu la d�clares o� ta structure ?

  3. #3
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Salut, merci d'avoir tester.

    Je d�clare ma structure comme cela :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    typedef struct
    {
       AnsiString  MainText;
       AnsiString  SubString;
       int         ImageIndex;
    } TImageListBoxEntry;
     
       // Une liste de ces éléments
    class PACKAGE TImageListBoxEntries : public TList
    {.....
    EDIT : D'ailleur il me saoule de la m�me mani�re si � la place de TImageListBoxEntries je met un TPoint par exemple (dans un autre composant).

  4. #4
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Salut � tous,

    je crois commencer � comprendre qu'une structure ne peut �tre un type pour une propri�t�...mais bon j'ai chang� ma structure en classe �a marche pas mieux...

  5. #5
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Voil� j'ai fini par trouver un petit quelque chose qui marche, si �a peut int�resser quelqu'un, ou bien si quelqu'un � une solution plus "simple".

    Il suffit de d�clarer la structure comme une classe qui d�rive de TPersistent :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    class TImageListBoxEntry : public TPersistent
    {
       public:
          AnsiString  MainText;
          AnsiString  SubString;
          int         ImageIndex;
    };
    Et voil� �a compile

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 8
    Dernier message: 25/01/2007, 13h25
  2. R�ponses: 9
    Dernier message: 05/10/2006, 08h31
  3. R�ponses: 2
    Dernier message: 13/06/2006, 08h47
  4. R�ponses: 9
    Dernier message: 31/05/2006, 15h08
  5. [LG] Erreur de type incompatible dans assignment
    Par Tuxico dans le forum Langage
    R�ponses: 4
    Dernier message: 03/12/2005, 21h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo