Bonjour à tous,
voici mon problème :
J'ai un objet A qui s'occupe de gèrer une liste d'objet (ajout, suppression, etc...).
Je me sert ensuite de cette objet comme suit :
j'ai un objet B qui hérite de A qui s'occupe de gèrer une liste d'objet C.
J'ai un objet C qui hérite de A qui s'occupe de gèrer une liste d'objet D.
Les deux objets C et D ont la même variable sName.
Pour l'instant, pas de problème, ça fonctionne très bien.
Je veux ensuite faire une fonction qui récupère un objet C ou D d'une liste suivant la valeur d'une variable sName qui est le nom de l'objet. Je passe donc à cette fonction le nom de l'objet que je recherche, et dans la fonction je parcours la liste jusqu'à retrouver le bon objet en testant la variable sName... MAIS c'est là que ça coince !!!
Voici mon code :
//------------------------------------------------------------------
// fonction qui récupère un élément de la liste par son nom
//
// argument0 = Nom de l'élément à récupérer
//
// return = l'élément
//-----------------------------------------------------------------
var oTemp;
var iSize;
var i;
iSize = ds_list_size(lList)
for (i=0; i<iSize; i+=1)
{
oTemp = ds_list_find_index(lList, i);
if (oTemp.sName == argument0) <-- là, c'est le drame !
{
return oTemp;
}
}
return noone;
Lorsque je lance, j'ai un superbe message d'erreur qui me dit qu'il ne connait pas sName !!!
Alors voici mes questions :
- peux t-on faire du polymorphisme ?
- sinon, comment puis-je contourner le problème ?
Merci d'avance