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 :

[D6] Passer un tableau en paramètre d'une unité à une autre


Sujet :

Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Points : 133
    Points
    133
    Par défaut [D6] Passer un tableau en paramètre d'une unité à une autre
    Bonjour,

    je voudrais passer en paramètre d'une procédure, un tableau de string assez complexe ( Array[1..30,1..8,1..3,1..3,1..10] of string ). Mais voilà, la procédure qui rempli ce tableau est dans une unité externe et j'obtiens l'erreur suivante à la compilation :

    [Error] Main.pas(658): Incompatible types: 'Unit2.TCliarray' and 'Main.TCliArray';

    Je comprends bien l'erreur, mais je ne vois comment contourner le problème ?

    Voici le code (simplifié à l'extreme) de l'unité principale :

    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
     
    unit Main;
     
    interface
     
    uses
      Windows, Dialogs, Messages, SysUtils, Classes, Controls, Forms, Unit2;
    type
      TCliarray = Array[1..30,1..8,1..3,1..3,1..10] of string;
      private
        { Private declarations }
      public
        { Public declarations }
      end;
     
    var
      Clidata : TCliarray;
     
    implementation
     
    procedure P_init;
    begin
      Fill_Data_Array(CliData);
    end;  
     
    end.
    et celui de l'unité externe :

    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
     
    unit Unit2;
     
    interface
     
    type
      TCliarray = Array[1..30,1..8,1..3,1..3,1..10] of string;
     
    procedure Fill_Data_Array(data_array: TCliArray);
     
    implementation
    procedure Fill_Data_Array(data_array: TCliArray);
    begin
     
    .
    .
    .
    .
    end;
     
    end.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Points : 133
    Points
    133
    Par défaut
    Ok, merci à Tom pour m'avoir soufflé la réponse aussi vite....

    Pas besoin de redéclarer le type TCliArray dans Main.pas

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/12/2009, 12h38
  2. Passer un tableau en paramètre d'une procédure
    Par redpulse dans le forum PL/SQL
    Réponses: 1
    Dernier message: 04/09/2008, 13h47
  3. Réponses: 2
    Dernier message: 10/03/2008, 18h28
  4. Passer un tableau en paramètre à une JSP?
    Par magicwill dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/07/2007, 10h22
  5. Réponses: 2
    Dernier message: 03/12/2006, 12h37

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