Instancier un controle graphique dans une classe

cs_nadjim Messages postés 24 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 29 avril 2010 - 8 mars 2006 à 10:25
cs_nadjim Messages postés 24 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 29 avril 2010 - 8 mars 2006 à 12:16
Bonjour tout le monde

J'ai créé une classe dans laquelle j'instancie un webbrowser. J'ai créé une méthode qui se rend sur une page web et vérifie si je suis bien connecté.

class MaClasse
{
WebBrowser WB = new WebBrowser();
String Accueil="http://..........";

pulic MaClasse()
{
WB.Navigate(Accueil);
}

public String Etat()
{
if(WB.Document.Body.InnerHtml.IndexOf("Connecté"))
return "Connecté";
else
return "Non connecté";
}
}

Mais voilà j'ai un probleme lorsque j'arrive sur la ligne if(WB.Document.Body.InnerHtml.IndexOf("Connecté"))
j'ai l'erreur NullReferenceException : Object reference not set to an instance of an object.
Pourtant j'instancie bien le Webbrowser. Et quand je passe par le debugger l'objet semble vide.

merci de me mettre sur la voie

nadj

2 réponses

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 11
8 mars 2006 à 11:16
Si ton WebBrowser est instancié, mais qu'il est "vide", alors ca veut dire que :
- WB n'est pas null (tout va bien)
- WB.Document est null ? -> NullReferenceException
- WB.Document.Body est null ? -> NullReferenceException
- WB.Document.Body.InnerHtml est null ? -> NullReferenceException

Bref, plein de bonne raison d'avoir une NullReferenceException.
Essaye déjà de déterminer quelle est l'objet qui est null, puis pourquoi (pour le pourquoi, est ce que tu es sur que l'appel a "WB.Navigate" réussi ?)
0
cs_nadjim Messages postés 24 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 29 avril 2010
8 mars 2006 à 12:16
A premiere vue WB n'est pas nul, mais WB.Document lui est null

nadj
0
Rejoignez-nous