déclarer un tableau dynamiquement et ...

déclarer un tableau dynamiquement et ... - Delphi/Pascal - Programmation

Marsh Posté le 10-02-2003 à 13:35:19    

salut !  :hello:  
 
voilà, j'ai besoin de déclarer un tableau de String de façon dynamique sous Delphi 3.
voilà comment je m'y suis pris :  
 
/////////////////////////////////////
procedure appelDll(...);
type TMonTablo = array[word] of String;
     PMonTablo = ^TMonTablo;
var TAB : PMonTablo;
    procedure RempliTablo(n : Integer);
    begin
    GetMem(TAB,n*4);
    for i := 0 to n do
       TAB[i] := 'toto';
    end;
begin
   RempliTablo(n);
   fonctionDll(TAB);
end;
////////////////////////////////
 
c'est une simplification du code d'origine.
Mon problème c'est que ma procédure 'fonctionDll', appelée dans le corps de la procédure 'appelDll', attend un array of String, donc à la compil' je reçois le message 'Types incompatibles : PMonTablo et String ... quelqu'un sait ce qu'il me faut pour passer mon tableau TAB dans ma procédure fonctionDll ?
 
Merci de votre aide,
 
Yohann

Reply

Marsh Posté le 10-02-2003 à 13:35:19   

Reply

Marsh Posté le 13-02-2003 à 21:12:27    

GetMem pour un array of string c'est un peu casse-gueule :D
(enfin passer ce genre de trucs à une DLL je suis pas sûr que ce soit tellement plus safe :o)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-02-2003 à 21:23:00    

ha avec sharemem on peut utiliser les array dynamiques ? je savais pas :o  


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-02-2003 à 22:03:16    

les tableaux dynamiques n'existent pas sous delphi 3 or TanteMerde (ça c du pseudo  :D ) travaille sous D3...

Reply

Marsh Posté le 13-02-2003 à 22:14:01    

tu as gagné au loto toi c u cadeau princier ça :D

Reply

Marsh Posté le 17-02-2003 à 10:33:40    

merci pour vos réponses !
zion, ta solution fonctionnerait à partir de Delphi 4, mais cette partie de mon projet est développée sous D3, donc pas de gestion dynamique possible avec SetLength (comme l'a fait remarquer Taureau).
antp, effectivement, la gestion dynamique d'un array of string ça plaisait pas du tout à D3, donc j'ai fait autrement.
en fait, le but était de passer le contenu d'une TStringList dans un array of String. J'ai découvert qu'il y a une propriété TStringList.Text qui transmet l'intégralité de la TStringList dans un seul String donc j'ai plus de problème ! :)  
merci à tous pour vos conseils, et à bientôt  :lol:
 
PS: pour la licence D6 merci on a tout ce qu'il faut ici lol
en fait on bosse en même temps sur D3, D5 et D6


Message édité par tantemerde le 17-02-2003 à 10:37:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed