Bonjour,
Je viens de tomber sur un problème très étrange, j'ai une fonction membre d'une classe qui renvoie un TGsdx (pas important, c'est juste un record que j'ai créé). Lorsque je modifie l'une de ses valeurs ça me fait une violation d'accès avec adresse 0 (comme une variable objet non instanciée). Ca n'a aucun sens, je renvoie juste un record, et ça déconne uniquement quand cette méthode est membre d'une classe, en temps normal ça marche bien.
J'ai volontairement simplifié ma fonction au maximum, d'où la non-utilité du paramètre Gs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function TYYY.CopyGsToGsdx(const Gs: TGs): TGsdx; begin Result.Nom := 'a'; // Violation d'accès end;
Gsdx.Nom est un "string[20]", pour info.
L'instance de TYYY appelée est bien instanciée, vu que toutes les autres méthodes renvoyant des types standards (int, double, string) fonctionne bien.
Pour info (bis), on ne peut pas voir la valeur de Result pendant le débuggage et la valeur de @Result vaut nil
Si qqun a une idée ...
Partager