Bonjour à tous.
Voilà j'ai certaines difficultés avec l'utilisation d'un pointeur (Delphi).
Code :
- TTableau = array of array of TID_Tableau;
- TEn_tete = record
- ...
- ...
- Matrice : TTableau ;
- end;
-
- var PEn_tete : ^TEn_tete;
|
Comme vous voyez PEn_tete est un pointeur qui pointe vers des varaibles dynamique de type TEn_tete composées de record et entre autre justement de TTableau qui est un tableau dynamique.
Bref, pour mon programme je crée un nombre important de varaible TEn_tete grâce au pointeur: new(PEn_tete), le pointeur correspondant est sauvegardé dans une TList: List.Add(PEn_tete).
Le problème est que justement les données (List[X]^.Matrice[i,j].Y) que je lis grâce à l'appel du pointeur dans la list sont complètement érronés, tous les pointeurs dans la liste pointent vers une matrice qui on toutes les données de la dernière matrice enregistrée.
Or ce phénomène ne se passe pas quand j'utilise un tableau fix (Ca serait logique non? Car le compilateur ne sait pas combien de mémoire allouer dans le cas d'un tableau dynamique, c'est ça???):
Code :
- TTableau = array [0..2,0..2] of TID_Tableau;
|
Est-ce que la création de variable dynamique (de type array of array of) grâce à des pointeurs est impossible????
J'ai malheursement rien trouvé dans des livres ni sur le site.
Merci beaucoup de votre aide.