Tôi đang cố gắng trả về một từ điển từ một hàm. Tôi tin rằng chức năng này hoạt động chính xác, nhưng tôi không chắc cách sử dụng từ điển được trả về.VBScript: Làm thế nào để làm mất một đối tượng từ điển được trả về từ một hàm?
Dưới đây là phần có liên quan về chức năng của tôi:
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
Làm thế nào để gọi chức năng này và sử dụng từ điển trở lại?
EDIT: Tôi đã thử điều này:
Dim someStuff
someStuff = GetSomeStuff
và
Dim someStuff
Set someStuff = GetSomeStuff
Khi tôi cố gắng truy cập vào someStuff, tôi nhận được một lỗi:
Microsoft VBScript runtime error: Object required: 'GetSomeStuff'
EDIT 2: Đang cố gắng chức năng này trong hàm:
Set GetSomeStuff = stuff
Kết quả trong lỗi này:
Microsoft VBScript runtime error: Wrong number of arguments or invalid property assignment.
tôi nhớ da diết sự kết hợp của Set GetSOmeStuff = công cụ và Set d = GetSomeStuff. Cảm ơn! – aphoria
@ user66001 Tôi không nghĩ rằng nên thử và chỉnh sửa mã (hoặc câu trả lời!) Của người khác (bên cạnh các công việc như sửa lỗi chính tả, cập nhật URL, v.v.), đặc biệt là đối với điểm nhỏ, đặc biệt là khi bạn sai ... Nếu bạn thay 'd' bằng tên hàm, bạn gọi hàm trên mỗi lần xuất hiện. Việc thiếu '()' có thể đã đánh lừa bạn để sử dụng một cuộc gọi hàm như một biến. Tôi không thấy thời điểm tạo cấu trúc 'nội dung' mỗi lần. Nó không quan trọng ở đây, cho bản demo đơn giản như vậy, nhưng nó có thể quan trọng trong một chương trình thực sự. – PhiLho
@PhiLho - Sai lầm của tôi. Xin lỗi (Hãy nghĩ rằng nó không quan trọng về nguyên tắc, vì vậy xóa thông tin sai của tôi). – user66001