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 :
- catch
- {
- _mySocket.Close();
- if (!CMain.Instance.Connected_off)
- {
- griser_bouton();
- MessageBox.Show("connexionLost" );
- }
- }
|
Je définit ma méthode déléguée de la sorte (tjs dans le même fichier de classe) :
Code :
- namespace GestionCoupures.Communication
- {
- /// <summary>
- /// Cette classe gere la communication entre Gestion coupures et le pc DASH2 par liaison ethernet
- /// </summary>
- public class CComEthernet : CCom
- {
- /// <summary>
- /// Objet de gestion des langues
- /// </summary>
- private CGestionLangue _gestionLangue;
- public delegate void _griser_bouton();
- public _griser_bouton griser_bouton;
|
Ensuite, dans mon fichier design principal, FormPrincipale.Designers.cs, je déclare mes variables :
Code :
- private GestionCoupures.Communication.CComEthernet comethernet;
- this.comethernet = new GestionCoupures.Communication.CComEthernet();
|
Enfin, dans ma classe principale : FormPrincipale.cs
Code :
- comethernet.griser_bouton = new CComEthernet._griser_bouton(this.grisage);
|
Et la méthode qui nous intéresse :
Code :
- private delegate void griser(bool isConnected);
- void grisage()
- {
- this.Invoke(new griser(_grisage));
- }
|
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