Comment chercher un vecteur par une fonction dans deux unites differantes

abidcha Messages postés 8 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 28 janvier 2004 - 28 janv. 2004 à 23:18
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 29 janv. 2004 à 19:30
Bonjour

J’ai deux unites 1 et 2. Unite 1 utilise unite 2. Unite 1 appele l’une des fonctions de unite 2 (getVecteurDeUnite2). Je veux savoir comment l’unite 1 doit l’appeler pour chercher un vecteur.

J’ai fait le code suivant :

Unite 1 :

Procedure Z();

Var :

vecteur : array of double;

begin

vecteur := unite2.getVecteurDeUnite2();

end;



Unite 2 :

Type :

vecteur : array of double;



function getVecteurDeUnite2() : vecteur;

begin



end;

L’erreur se produit dans unite 1 dans vecteur := unite2.getVecteurDeUnite2(); en me disant types incompatibles (malgre que les deux sont array of double;)

Merci d'avance

abidcha

1 réponse

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
29 janv. 2004 à 19:30
Je ferai remarquer qu'il serait bon de respecter un minimum les conventions de notation.
Dans ton code, il devient difficile de s'y retrouver si l'on déclare Vecteur du type Vecteur :
var
Vecteur: Vecteur;
Il est fortement recommandé d'utiliser la notation :
var
Vecteur: TVecteur;

Dans Unit2 :
interface
type
  TVecteur=  array of double;

  function getVecteurDeUnite2() : TVecteur;
implementation

function getVecteurDeUnite2() : TVecteur;
begin
  //
end;


Dans Unit1 :
uses Unit2;

{$R *.dfm}
Procedure Z();
Var
  //cette fois, on déclare en utilisant le même type que celui
  //défini dans Unit2
  vecteur : TVecteur;
begin
  vecteur := getVecteurDeUnite2();
end;


Et là, no problem, ça compile nickel. En agissant ainsi, on s'assure que si le type TVecteur défini dans Unit2 change, la variable tableau déclarée dans Unit1 suivra.

May Delphi be with you
0
Rejoignez-nous