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

Delphi Discussion :

Propriété de type TRect


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 41
    Points : 29
    Points
    29
    Par défaut Propriété de type TRect
    Bonjour à tous

    Petit problème : j'ai créé un composant dans lequel je souhaite implémenter (je ne sais pas si l'expression est bonne ) une propriété de type Trect, avec la variable locale correspondante ainsi que la property dans la section published, et tout et tout... Seulement mon champ n'apparaît pas dans l'inspecteur d'objet !

    J'imagine que la solution que vous me proposerez sera valable pour toute propriété de type record.

    Pour info, je développe sous Delphi 7

    Merci de votre aide
    Bernard

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Rien compris,
    et j'ai l'impression que je ne suis pas le seul,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par Jipété
    Rien compris,
    et j'ai l'impression que je ne suis pas le seul,
    --
    jp
    Je crois avoir compris... J'essaie:
    Donne-nous la déclaration de ta propriété ainsi que sa variable.
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    Merci de vous occuper de mon cas

    Ma question est - et Pedro me semble l'avoir comprise - est de pouvoir définir la propriété de type TRect de mon composant à l'aide de l'inspecteur d'objet, lors de la conception de ma fiche.

    Mon TBMTrackBar est un descendant de TLabel

    Dans la section private :
    Dans la section published :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BarMargin: TRect read FBarMargin write FBarMargin;
    Pour info, je n'ai aucun problème avec des propriétés de type "non-record"

    Merci à vous
    Bernard

  5. #5
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    OK donc j'avais bien compris.
    Tu ne peux pas utiliser les record directement comme ceci. Si tu veux vraiment avoir ces valeurs dans l'inspecteur d'objet, il te faut passer par une classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    TMonTRect = class(TPersistent)
    private
      FLeft, FRight, ... : integer;
    public
      procedure GetRect: TRect;
    published
      property Left: integer read FLeft write FLeft;
      property Right: integer read FRight write FRight;
      ...
    end;
     
    TTaClasse = TTonAncetre
    private
      FBarMargin: TMonRect;
    public
      contructor Create(...); override;
      destroy Destroy; override;
    published
      property BarMargin: TMonRect read FBarMargin write FBarMargin;
    end;
     
    ...
     
    //TMonRect
    function GetRect: integer;
    begin
      Result.Left := FLeft;
      Result.Right := FRight;
      ...
    end;
     
    //TTaClasse
    contructor Create(...);
    begin
      inherited;
      FBarMargin := TMonRect.Create;
    end;
     
     
    destructor Destroy;
    begin
      FreeAndNil(FBarMargin);
      inherited;
    end;
    Voila
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  6. #6
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut
    Citation Envoyé par Pedro
    Si tu veux vraiment avoir ces valeurs dans l'inspectuer d'objet, il te faut passer par une classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TMonTRect = class
      ...
    Ne faut-il pas que la classe hérite de TPersistent ?
    -Slimjoe

  7. #7
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par slimjoe
    Ne faut-il pas que la classe hérite de TPersistent ?
    Houla oui! Décidemment en ce moment moi...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    Bonsoir à tous

    Un grand merci à pedro pour sa réponse très claire

    Merci à slimjoe pour l'idée du TPersistent - je n'avais pas encore lu le mea culpa de pedro -. Sans ça l'inspecteur d'objet ne peut pas développer mon "pseudo-record"

    Ca marche nickel-chrome

    Donc tout ça est une affaire réglée
    Bernard

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

Discussions similaires

  1. [C#] Controle perso avec propriété de type Struct
    Par paussel dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/12/2006, 11h51
  2. [C#][propertygrid] Affichage de propriété de type personnel
    Par Chuck67 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/04/2006, 08h47
  3. Propriété de type TObject
    Par bob2553 dans le forum Composants VCL
    Réponses: 11
    Dernier message: 21/08/2005, 16h10
  4. [Virtual Pascal] Type tRect de TurboVision
    Par Alcatîz dans le forum Autres IDE
    Réponses: 2
    Dernier message: 02/05/2005, 19h17
  5. Réponses: 2
    Dernier message: 18/10/2003, 14h42

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