je souhaite creer une structure dont l'un des champs serait une liste chainee.
j'ai besoin que cette liste soit globale, pour pouvoir etre commune a plusieurs variables du type de ma structure.
j'ai essayé de faire pointer la liste de chaque variable vers le 1er element de la liste globale, mais cela ne fonctionne pas.
Est-il possible d'avoir un champ de structure qui soit un pointeur vers une liste globale?
et qui permette d'utiliser les fonctions des listes (NextElement, listSize, FirstElement, etc...)?
Code : Tout sélectionner
Structure mystruct
id.i
name.s
List lnum.i()
EndStructure
; Declare une liste globale de 10 elements
; initialisés avec les valeurs de 1 a 10
Global NewList glnum.i()
For i=1 To 10
AddElement(glnum())
glnum() = i
Next
ForEach glnum()
Debug "liste globale:"+glnum()
Next
; Declare 2 objets
Define obj1.mystruct
Define obj2.mystruct
; initialise leurs valeurs
obj1\id = 11
obj1\name = "objet 1"
obj2\id = 22
obj2\name = "objet 2"
; fait pointer leur liste vers la liste globale (partagee entre les 2 objets)
obj1\lnum() = FirstElement(glnum()) ;=> ici erreur, la liste chainee ne contient aucun element
obj2\lnum() = FirstElement(glnum())
ForEach obj1\lnum()
Debug "liste obj1:"+obj1\lnum()
Next
ForEach obj1\lnum()
Debug "liste obj2:"+obj1\lnum()
Next