J'essaie de retourner un dictionnaire à partir d'une fonction. Je crois que la fonction fonctionne correctement, mais je ne suis pas sûr de savoir comment utiliser le dictionnaire retourné.VBScript: Comment utiliser un objet dictionnaire renvoyé par une fonction?
Voici la partie pertinente de ma fonction:
Function GetSomeStuff()
'
' Get a recordset...
'
Dim stuff
Set stuff = CreateObject("Scripting.Dictionary")
rs.MoveFirst
Do Until rs.EOF
stuff.Add rs.Fields("FieldA").Value, rs.Fields("FieldB").Value
rs.MoveNext
Loop
GetSomeStuff = stuff
End Function
Comment appeler cette fonction et utiliser le dictionnaire retourné?
EDIT: J'ai essayé ceci:
Dim someStuff
someStuff = GetSomeStuff
et
Dim someStuff
Set someStuff = GetSomeStuff
Lorsque je tente d'accéder someStuff, je reçois une erreur:
Microsoft VBScript runtime error: Object required: 'GetSomeStuff'
EDIT 2: Essayer ceci dans la fonction:
Set GetSomeStuff = stuff
résultats dans cette erreur:
Microsoft VBScript runtime error: Wrong number of arguments or invalid property assignment.
je manquais la combinaison de Set GetSOmeStuff = choses et Set d = GetSomeStuff. Merci! – aphoria
@ user66001 Je ne pense pas que ce soit une bonne idée d'essayer de modifier le code (ou la réponse!) De quelqu'un d'autre (en plus des tâches comme les corrections de typo, les mises à jour d'URL, etc.). sont faux ... Si vous remplacez 'd' par le nom de la fonction, vous appelez la fonction à chaque occurrence. L'absence de '()' pourrait vous induire en erreur pour utiliser un appel de fonction comme une variable. Je ne vois pas l'intérêt de créer la structure 'stuff' à chaque fois. Ce n'est pas critique ici, pour une démo aussi simple, mais cela peut être important dans un vrai programme. – PhiLho
@PhiLho - Mon erreur. Désolé (Pensez que c'est important sur le principe, donc supprimé mes mauvaises informations). – user66001