Object reference not set [Résolu]

Signaler
Messages postés
22
Date d'inscription
dimanche 2 septembre 2001
Statut
Membre
Dernière intervention
8 mars 2005
-
Messages postés
22
Date d'inscription
dimanche 2 septembre 2001
Statut
Membre
Dernière intervention
8 mars 2005
-
Salut a tous...

j'ai un probleme un peu bidon (enfin j'espere) en .NET

J'utilise un bou de code qui fonctionne dans la fonction principale (Page_Load()) et qui ne fonctionne plus dans une autres fonction (appartenant a la meme class). ce bou de code fait appel a un objet TextBox ajouté dans le webform et dans lequel je voudrais ajouter du texte (par le biai d'une autre fonction que la principale).

L'application me retourne l'erreur "Object reference not set to an instance of an object" que j'ai beaucoup retrouvé sur différents sites, mais tous présentaient un probleme différent.

Est ce que quelqu'un aurait une idée pour mon probleme ?

4 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Pk tu reinstancie ta classe :

Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click



Dim obj
As
New WebForm1



obj.CherchePersonne(TextBox1.Text)



End
Sub



a modifier en





Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click



CherchePersonne(TextBox1.Text)



End
Sub


Il n'y a aucune raison de instancier la classe, tu peux appeller la méthode directement.

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Je pense que ton problème vient que ton textbox n'est pas déclaré, les
variables ont une porté limité à la boucle/fonction en cours.



montre ton code pour que je t'explique mieux car il y a plusieurs cas possibles à ton problèmes

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
22
Date d'inscription
dimanche 2 septembre 2001
Statut
Membre
Dernière intervention
8 mars 2005

merci pour ton aide...
J'ai deja pensé a (re)declarer mon TextBox dans ma fonction mais le
compilateur m'indique qu'il est deja declaré...

voici mon code


Imports System.DirectoryServices


Public
Class WebForm1



Inherits System.Web.UI.Page


#
Region " Code généré par le Concepteur Web Form "



'Cet appel est requis par le Concepteur Web Form.


<System.Diagnostics.DebuggerStepThrough()>
Private
Sub InitializeComponent()



End
Sub



Protected
WithEvents DropDownList1
As System.Web.UI.WebControls.DropDownList



Protected
WithEvents DropDownList2
As System.Web.UI.WebControls.DropDownList



Protected
WithEvents TextBox1
As System.Web.UI.WebControls.TextBox



Protected
WithEvents Button1
As System.Web.UI.WebControls.Button



Protected
WithEvents Table1
As System.Web.UI.WebControls.Table



'REMARQUE : la déclaration d'espace réservé suivante est requise par le Concepteur Web Form.



'Ne pas supprimer ou déplacer.



Private designerPlaceholderDeclaration
As System.Object



Private
Sub Page_Init(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Init



'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form



'Ne le modifiez pas en utilisant l'éditeur de code.


InitializeComponent()



End
Sub


#
End
Region



Public ChaineConn
As
String = [ldap://monserver LDAP://monserver]



Public LoginAD
As
String = "tata"



Public PasswordAD
As
String = "toto"



Public nbResult
As
Integer = 0



Public rootEntry
As
New DirectoryEntry(ChaineConn, LoginAD, PasswordAD)



Public
Sub CherchePersonne(
ByVal LeLogin
As
String)



' Cherche les Informations Sur le Compte suivant le Login Transmis



Dim searcher
As
New DirectorySearcher(rootEntry)



' Mettre ici les valeurs des différents attributs


searcher.PropertiesToLoad.Add("givenname")
''' nom


searcher.PropertiesToLoad.Add("sn")
''' prenom


searcher.PropertiesToLoad.Add("telephoneNumber")
''' telephone


searcher.PropertiesToLoad.Add("mail")
''' email



'searcher.Filter = "(&(anr=" & LeLogin & ")(objectCategory=person))"


searcher.Filter = "(&(objectCategory=person)(objectClass=user)(anr=" & LeLogin & "))"



Dim results
As SearchResultCollection


results = searcher.FindAll()


nbResult = results.Count



If results.Count > 0
Then



Dim result
As SearchResult



Dim Prop
As ListItem



Dim N
As
Integer = 0



For
Each result
In results



Dim tmpRow
As
New TableRow



For N = 0
To searcher.PropertiesToLoad.Count - 1



Dim tmpCell
As
New TableCell



If
Not (result.Properties(searcher.PropertiesToLoad.Item(N))
Is
Nothing)
Then


tmpCell.Text = Trim(
CStr(result.Properties(searcher.PropertiesToLoad.Item(N))(0)))



Else


tmpCell.Text = "&nbsp;"



End
If


tmpRow.Cells.Add(tmpCell)



Next


Table1.Rows.Add(tmpRow)



Next



End
If



End
Sub



Private
Sub Page_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load



'Dim L As New Integer



'Dim C As New Integer



'For L = 1 To 10



' Dim tmpRow As New TableRow



' For C = 1 To 5



' Dim tmpCell As New TableCell



' tmpCell.Text = L & "--" & C



' tmpRow.Cells.Add(tmpCell)



' Next



' Table1.Rows.Add(tmpRow)



'Next



End
Sub



Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click



Dim obj
As
New WebForm1


obj.CherchePersonne(TextBox1.Text)



End
Sub


End
Class
Messages postés
22
Date d'inscription
dimanche 2 septembre 2001
Statut
Membre
Dernière intervention
8 mars 2005

arfff... pourquoi je n'y ai pas pensé plutot :o)))))

merci de ton aide