Référence nulle

Référence nulle - C#/.NET managed - Programmation

Marsh Posté le 01-01-2009 à 18:50:02    

Hi all,
 
J'ai actuellement un problème d'attribut dont la référence est à null lorsque j'y accède depuis une autre classe  :heink:  
 
exemple :
 

Code :
  1. ref class Parametres
  2. {
  3. private :
  4.  // attributs [...]
  5. public :
  6.  // attributs
  7.  String ^ log_nom_application;
  8. }
  9. Parametres::Parametres()
  10. {
  11.      this -> log_nom_application = "truc";
  12. }


 
Et lorsque j'instancie la classe parametres et que je veux accéder à l'attribut log_nom_application à partir d'une autre classe :
 

Code :
  1. this -> param = gcnew Parametres();
  2. String ^ test = this -> param -> log_nom_application;
  3. Console::WriteLine(test);


 
Je n'obtiens rien  :sweat:  
 
Quelqu'un a une idée ?
 
 :hello:


Message édité par ANViL le 01-01-2009 à 19:25:19

---------------
Easy Ridin'  ⎝⏠⏝⏠⎠  
Reply

Marsh Posté le 01-01-2009 à 18:50:02   

Reply

Marsh Posté le 01-01-2009 à 20:15:54    

oui, en mode debug, idem : la référence est à null.
 
Sinon hmm, c'est vrai que je suis plus dans la section C# que C++, mais c'est du C++/CLI (managé) .Net, donc hors syntaxe, c'est le même framework.
 
Sinon le ^ signifie que c'est une référence managée sur le heap aloué pour le process.
 
 :hello:


---------------
Easy Ridin'  ⎝⏠⏝⏠⎠  
Reply

Marsh Posté le 01-01-2009 à 20:33:40    

- oui, le constructeur est appelé.
- j'ai également essayé avec l'appell explicite gcnew String(), sans succès malheureusement  :(  
 


---------------
Easy Ridin'  ⎝⏠⏝⏠⎠  
Reply

Marsh Posté le 01-01-2009 à 20:51:56    

Bon, j'ai finalement trouvé l'erreur en débuggant en profondeur (passage dans toute l'arborescence des appels au lieu de step over)  [:prozac]  
 
J'ai une fonction inline dans une sous-classe qui manipule également la référence de la classe Parametres et de l'attribut en question, et a un moment je lui affecte un nullptr  :sarcastic:  
 
A force de faire des tests en manipulant le code, voilà ce qui arrive  :pfff: (enfin bon, c'était hier soir, j'ai une excuse  [:cobraphil8] )
 
Merci pour l'aide !
 
 
 


---------------
Easy Ridin'  ⎝⏠⏝⏠⎠  
Reply

Sujets relatifs:

Leave a Replay

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