Comprend pas...

Résolu
cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007 - 1 mars 2006 à 11:47
cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007 - 2 mars 2006 à 11:00
Bonjour,
J'ai depuis quelque temps une erreur de reférencement (NULL REFERENCE EXCEPTION).
Voilà mon code :

Public
Function retreiveUserInfos(
ByVal SAMAccount()
As
String)
As
String()()

Dim countUser
As
Integer = SAMAccount.Length

'Array containing FirstName, LastName, cmpId
Dim userInfos(countUser)()
As
Object

'set the ldap path
Dim root
As
New DirectoryEntry(
"LDAP://OU=Companies,DC=group,DC=net")

Dim searcher
As
New DirectorySearcher(root)

Dim DirEntry
As DirectoryEntry

For i
As
Integer = 0
To countUser

'Searching on the samAccount
searcher.Filter =
"(SAMAccountName=" & SAMAccount(i) &
")"
Dim result
As SearchResult = searcher.FindOne
DirEntry = result.GetDirectoryEntry()

'LastName
userInfos(i)(0) = (DirEntry.Properties(
"sn").Value)

....

Cette erreur survient quand j'accède au premier enregistrement dans mon tableau userInfos(0)(0)
Ce que je ne comprend pas, c'est que je définis mon tableau d'une longueur fixe... alors pourquoi ce problème de référencement???


Merci d'avance.


ElpenS

4 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
1 mars 2006 à 14:32
en fait, c'est normal, la déclaration des tableaux imbriqués (nested array) se fait en 2 parties :

dim toto(10)() as Object

toto(0) = New Object(10) {}


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 mars 2006 à 12:34
Bonjour,

il n'y a rien d'anormal

tu déclares bien un tableau de countUser tableau vide mais ensuite tu essaye d'aller dans le 1er élément du tableau contenu dans l'element i (un tableau vide)

il faudrais donc faire un truc du genre : Dim userInfos(countUser)(10)
As
Object

<hr>Cyril - MVS - MCP ASP
0
cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007
1 mars 2006 à 13:11
Mais je ne peux pas initialiser un tableau comme ceci :

Dim userInfos(countUser)(10) As Object

Bounds can be specified only for the top-level array when initializing an array of arrays.
0
cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007
2 mars 2006 à 11:00
Merci, ca me depanne pas mal....
0
Rejoignez-nous