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

Composants VCL Delphi Discussion :

Duplication objet


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Inscrit en
    Juillet 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 46
    Par défaut Duplication objet
    Bonjour,

    J'essaye de creer une table de label à partir d'un label present sur ma forme

    Je fais donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonLabel:=Tlabel.Create(self);
    MonLabel.Assign(Label1);
    A l'execution j'obtiens un :

    Impossible d'affecter TLabel à TLabel.
    Ou est l'erreur?
    John

  2. #2
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    T'es sûr que Label1 est bien défini ?
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Inactif  

    Inscrit en
    Juillet 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 46
    Par défaut Objet
    Label1 est fabrique sous l'diteur afin de ui donnez le cracteristiques generales:
    Font, color,visible,transparent....
    Il apparait parfaitement à l'écran

    John

  4. #4
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Les deux labels font bien partie du même module (EXE tous les deux ou DLL tous les deux mais pas un l'EXE et l'autre une DLL) ?
    Si c'est le cas alors je vois vraiment pas. C'est très étrange...
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  5. #5
    Inactif  

    Inscrit en
    Juillet 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 46
    Par défaut Duplication objet
    Et oui c'est très étrange:

    Je suis dans le cretate de la form et visiblement cela coince quelque part parce que j'ai essayé des vatiante et rien ne marche:

    Deus labels posés dans la fiche. Un Assign de l'un sur l'autre : rien
    Creation d'un label à la main , posituionnement des proprietés et imposible de voir le lpabel à l'écran

    John

  6. #6
    Expert confirmé

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut
    Non, assign ne fonctionne pas dans ce cas. Tu ne peut pas copier un composant de la sorte. Il existe des possibilités plus complexes en utilisant les reader/writer de Delphi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function CreationCopie(Component:TControl):TControl;
    var
      Stream:TMemoryStream;
    begin
      Stream :=TMemoryStream.Create;
      try
        Stream.WriteComponent(Component);
        Stream.Seek(0,soFromBeginning);
        Result := TControl(Stream.ReadComponent(nil));
        Result.Parent := Component.Parent;
      finally
        Stream.Free
      end;
    end;
    Cette fonction s'utilise de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Var lab:TLabel;
    begin
      Lab:=TLabel(CreationCopie(Label1));
      Lab.Top := Lab.Top+20;
    end;
    Pour que ça fonctionne il faut mettre dans le OnCreate de la fiche :
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  7. #7
    Inactif  

    Inscrit en
    Juillet 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 46
    Par défaut Duplication composant
    Merci bien

    C'est trange que cela ne soit expliqué nulle part.
    J'ai essayé avec des Statictext et le résultat est identique.
    A-t-on l'explication ou est-ce simplement l'expérience qui parle?

    De toute façon j'essaye de suite.


    John

  8. #8
    Expert confirmé

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut Re: Duplication objet
    Citation Envoyé par John Fullspeed
    Deus labels posés dans la fiche. Un Assign de l'un sur l'autre : rien
    Normal assign ne fonctionne pas...

    Citation Envoyé par John Fullspeed
    Creation d'un label à la main , posituionnement des proprietés et imposible de voir le lpabel à l'écran
    Simple oubli de la propriété Parent du label.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/04/2014, 10h01
  2. clone ou duplicate d'objet as3 (movie clip)
    Par roduce dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 30/08/2008, 09h58
  3. Duplication de record contenant des objets
    Par bleuerouge dans le forum Débuter
    Réponses: 1
    Dernier message: 03/06/2008, 18h45
  4. Constructeurs et méthodes d'objets : duplication du code ou non ?
    Par Hibou57 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 03/10/2007, 20h41
  5. [WriteExcel] Duplication d'objet
    Par FendLaBizz dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/04/2007, 11h18

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