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 :

Problème de tableau dynamique en paramètre


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut Problème de tableau dynamique en paramètre
    Re bonjour tous le monde,
    Je suis bloqué par le passage d'un tableau dynamique en paramettre.
    Jusqu'a present, j'appelé des fonctions d'une DLL avec des tableaux statique et je ne rencontré aucun probleme. Mais maintenant que je tente d'utilisé des tableau dynamique ca coince.

    Voici mes declarations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TabLecture = array of [0..7] of integer;
    TabLectureDyn = array of integer;
    initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SetLength(TTabLectureDyn, 8);
    //init
    for I=0 to 7
    begin
      TabLecture[I] := I;
      TabLectureDyn[I] := I;
    end;
    En mode debug je verifie que mes deux tableaux comporte exactement les meme valeurs et nombre de cases. Dans mon cas, ils sont identique.
    J'appel ensuite une fonction ou il faut passer l'adresse du tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Lecture(@TabLecture);
    Lecture(@TabLectureDyn);
    Ca fonctionne dans mon premier cas, mais pas dans mon second cas.
    J'en deduis que je ne passe pas correctement l'adresse de mon tableau dynamique. Comment faire?

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Lecture(@TabLecture);
    Lecture(@TabLectureDyn[0]);
    et oui, TabLectureDyn est un pointeur ! ce que tu veux c'est l'adresse de son premier élément

    TabLecture n'est pas un pointer, son adresse EST l'adresse du premier élément.

    attention, dans un tableau dynamique à plusieurs dimensions, les lignes ne sont pas contigües en mémoire !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    Exact, j'était passé à coté
    Merci

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

Discussions similaires

  1. Problème de tableau dynamique
    Par Vindz dans le forum LabVIEW
    Réponses: 23
    Dernier message: 26/04/2007, 13h27
  2. problème avec tableau dynamique
    Par akrobat dans le forum C++
    Réponses: 7
    Dernier message: 28/04/2006, 15h29
  3. [D7] passer un tableau dynamique en paramétre ?
    Par PhD13 dans le forum Langage
    Réponses: 6
    Dernier message: 11/01/2006, 18h09
  4. Passage de tableau dynamique en paramètre
    Par Didier L dans le forum Langage
    Réponses: 3
    Dernier message: 08/09/2005, 23h04
  5. Comment passer un tableau dynamique en paramètre ?
    Par Charette dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2005, 11h28

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