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