La référence d'objet n'est pas définie à une instance d'un objet.

La référence d'objet n'est pas définie à une instance d'un objet. - C#/.NET managed - Programmation

Marsh Posté le 07-05-2008 à 11:49:59    

Bonjour,  
j'ai un challenge pour les professionnels du codage, message d'erreur classique, mais impossible à résoudre avec mes connaissances, avis aux connaisseurs. (en plus j'ai recopié exactement sur une méthode qui fonctionnait.
----
Je veux griser des boutons de mon IHM à l'aide de la méthode créée spécialement, griser_bouton()
Je l'appelle de la sorte dans le fichier de classe CComEthernet.cs :

Code :
  1. catch
  2.            {
  3.                 _mySocket.Close();
  4.                 if (!CMain.Instance.Connected_off)
  5.                 {
  6.                     griser_bouton();
  7.                     MessageBox.Show("connexionLost" );
  8.                 }
  9.             }


 
Je définit ma méthode déléguée de la sorte (tjs dans le même fichier de classe) :
 

Code :
  1. namespace GestionCoupures.Communication
  2. {
  3.     /// <summary>
  4.     /// Cette classe gere la communication entre Gestion coupures et le pc DASH2 par liaison ethernet
  5.     /// </summary>
  6.     public class CComEthernet : CCom
  7.     {
  8.         /// <summary>
  9.         /// Objet de gestion des langues
  10.         /// </summary>
  11.         private CGestionLangue _gestionLangue;
  12.         public delegate void _griser_bouton();
  13.         public _griser_bouton griser_bouton;


 
Ensuite, dans mon fichier design principal, FormPrincipale.Designers.cs, je déclare mes variables :
 

Code :
  1. private GestionCoupures.Communication.CComEthernet comethernet;
  2. this.comethernet = new GestionCoupures.Communication.CComEthernet();


 
Enfin, dans ma classe principale :  FormPrincipale.cs

Code :
  1. comethernet.griser_bouton = new CComEthernet._griser_bouton(this.grisage);


 
Et la méthode qui nous intéresse :  

Code :
  1. private delegate void griser(bool isConnected);
  2.         void grisage()
  3.         {
  4.             this.Invoke(new griser(_grisage));
  5.         }


 
En fait, quand j'arrive à mon appel de méthode, celle-ci est nulle, alors que je passe bel et bien par mon fichier principal, et que l'attribution à l'air de se réaliser.
 
J'attend vos réponses à ce beau challenge  :jap:

Reply

Marsh Posté le 07-05-2008 à 11:49:59   

Reply

Sujets relatifs:

Leave a Replay

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