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

Langage Delphi Discussion :

Propriété tableau et TObjectList


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 21
    Points : 22
    Points
    22
    Par défaut Propriété tableau et TObjectList
    Prenons un exemple, ca sera plus simple pour expliquer :
    J ai une classe TLien defini comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    type
      TLien = class
        private
          Fnom :String;
    [...]
        published
          property nom:String read Fnom write SetNom;
        end;
    Et j ai égallement une classe Personne qui contient une TObjectList de TLien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    type
      TPersonne = class
        private
          Flien :TObjectList;
    [...]
        end;
    Je voudrais pouvoir créer une propriété 'tableau' pour que je puisse exploiter ma classe TPersonne comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MyPers := TPersonne.Create(...);
    Edit1.Text := MyPers.lien[3].nom;
    Alors voila ce que j ai essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    property lien[Index :integer]:TLien read GetLien write SetLien;
    J'ai evidemment les 2 deux methodes qui sont déclarer comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function GetLien(Index :integer) :TLien;
    procedure SetLien(Index :integer; Val :TLien);
    Mais voila le problème ... c'est que ca ne marche pas erreur à la compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Published property 'lien' cannot be of type ARRAY
    Est ce que j'aurais mal compris qqch dans la réalisation de propriété 'tableau' ??
    Est ce que c est possible d implementer ce que je veux faire ?

    Toutes solutions sont les bienvenues

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    publiqhed est utilisé pour les prop disponibles dans l'editeur de propriété... donc c normal!

    passe ta propriété en Public et ça sera bon
    doumdidoum

  3. #3
    Invité
    Invité(e)
    Par défaut
    Il faut déclarer la propriété public et pas published

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 21
    Points : 22
    Points
    22
    Par défaut


    Merci ca fonctionne


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une propriété tableau publiée !
    Par Invité dans le forum Delphi
    Réponses: 7
    Dernier message: 24/03/2007, 23h36
  2. Réponses: 2
    Dernier message: 06/09/2006, 23h20
  3. Réponses: 2
    Dernier message: 08/08/2006, 14h52
  4. Réponses: 2
    Dernier message: 16/05/2006, 09h52
  5. [Struts] ordre des éléments dans un tableau de propriétés
    Par zais_ethael dans le forum Struts 1
    Réponses: 2
    Dernier message: 09/05/2006, 15h54

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