VBScript: Wie utiliize ein dictionary-Objekt von einer Funktion zurückgegeben?
Ich versuche, um wieder eine Wörterbuch Funktion. Ich glaube, dass die Funktion korrekt arbeitet, aber ich bin mir nicht sicher, wie er das zurückgegebene dictionary.
Hier ist der relevante Teil meiner Funktion:
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
Wie kann ich diese Funktion aufrufen und die zurückgegebenen Wörterbuch?
EDIT: ich hab das versucht:
Dim someStuff
someStuff = GetSomeStuff
und
Dim someStuff
Set someStuff = GetSomeStuff
Wenn ich versuche, auf someStuff, bekomme ich eine Fehlermeldung:
Microsoft VBScript runtime error: Object required: 'GetSomeStuff'
EDIT 2: der Versuch, dieses in der Funktion:
Set GetSomeStuff = stuff
Dieser Fehler führt:
Microsoft VBScript runtime error: Wrong number of arguments or invalid property assignment.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich war nicht allzu sicher in dem, was war dein problem, also habe ich ein wenig experimentiert.
Es scheint, dass Sie nur verpasst, dass das zuweisen einer Referenz auf ein Objekt, müssen Sie
set
auch für ein return-Wert:d
mit den Namen der Funktion, rufen Sie die Funktion auf jedes vorkommen. Der Mangel an()
haben könnte dazu verleiten, Sie zu nutzen, einen Aufruf der Funktion wie eine variable. Ich sehe nicht den Punkt der Erstellung derstuff
Struktur zu jeder Zeit. Es ist nicht kritisch, hier, für solch einfache demo, aber es kann wichtig sein, in einem echten Programm.Haben Sie versucht zu tun
set GetSomeStuff = stuff
in der letzten Zeile der Funktion?
Haben Sie versucht:
Dann "Jeder" Iteration über das Wörterbuch? Es ist ein Beispiel für das Wörterbuch verwenden (wenn auch nur für VB6, den Kern ist es das gleiche obwohl!) hier.