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 :

Copier la valeur pointée par un pointeur dans un autre pointeur


Sujet :

Delphi

  1. #1
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut Copier la valeur pointée par un pointeur dans un autre pointeur
    Bonjour a tous,

    D'accord le titre n'est pas très explicite, donc plutot que de faire un long discours, voila ce que je tente de faire mais le compilateur ne semble psa l'apprécier :

    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
     
    TUneClass = class
    ...
    private 
      fPhoto: Pointer
    ...
    end;
     
    ...
     
     
    implementation
     
    constructor TUneClass.Create
    begin
     ...
    GetMem(fPhoto, fBitmapInfo.bmiHeader.biSizeImage);
    ...
    end;
     
     
    procedure TUneClass.UneProcedure;
    var aPhoto: Pointer;
    begin
     ...
    aPhoto := RecupererPhoto(.....); // Me renvoie un pointeur vers une zone mémoire contenant les bits d'une image
     
    if (aPhoto<>nil) then fPhoto^:=aPhoto^; // Et ça sa passe pas le compilo ...
    end;
    En résumé : comment copier le contenu de aPhoto dans fPhoto ?

    Quelqu'un pourrait-il m'aider ?




    Par avance merci

  2. #2
    Membre régulier Avatar de user 56gt8
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 92
    Points
    92
    Par défaut
    Tu ne peux pas de cette manière.Le fPhoto est un pointeur c'est à dire qu'il désigne en memoire ce qui lui est assigné.En plus ton aPhoto est lui même un pointer...
    Tu peux utiliser un pointer intermédiaire mais pas deux.Pour l'assignation final tu crées un objet du même type que celui d'origine et tu assignes.

    Ensuite pour assigner , même si t utilise plusieurs pointers il faut utiliser '@' pour déférer : fphoto := @afoto

    Mais bon toujours même problème , fphoto est un pointer et tu devrai plutôt assigner afoto à une variable typée.

  3. #3
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut
    Bonjour,



    Je ne comprends pas ce qui s'est passé mais on m'avait déjà répondu à cette question ...


    D'ailleurs j'avais pigé juste avant la réponse d'où venait mon erreur (il ne connaissait pas la taille de ma zone mémoire donc ne pouvait pas la copier tout seul) ...

    La solution m'a alors été donnée d'utiliser la fonction Move



    Merci quand même de ton intervention, mais là c'est bizarre ce qui s'est passé sur le forum

  4. #4
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut
    Re,

    La réponse est ici
    http://www.developpez.net/forums/sho...d.php?t=591335





    Merci à Claudius

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/06/2007, 19h00
  2. Réponses: 3
    Dernier message: 21/05/2007, 13h49
  3. Valeur par défaut à prendre dans une autre table
    Par louroulou dans le forum Access
    Réponses: 6
    Dernier message: 19/07/2006, 11h38
  4. Réponses: 3
    Dernier message: 17/03/2006, 15h50
  5. Réponses: 5
    Dernier message: 27/09/2005, 18h25

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