[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:
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:
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. |