首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过引用将scripting.dictionary[]传递给函数

通过引用将scripting.dictionary[]传递给函数
EN

Stack Overflow用户
提问于 2016-03-11 07:21:42
回答 1查看 98关注 0票数 1

我正在开发小型VBScript,并试图创建scripting.dictionary[]。我必须通过ref将字典数组传递给一个函数。这个函数是我通过编译后的库得到的。函数定义如下。

代码语言:javascript
复制
public string Update(string name, ref Scripting.Dictionary[] Data, string sRecordId = "")

我的代码行在这里

代码语言:javascript
复制
Set objQWS = CreateObject("Dll")
Set X = PassDictionary

objQWS.Update "Name", x, ""

MsgBox "Additional Info Sent"

Function PassDictionary()
    Dim objDic
    Set objDic = CreateObject("Scripting.Dictionary")

    objDic.Add "id", 1
    objDic.Add "name", "a"
    objDic.Add "extd_price", "b"
    objDic.Add "sales_rep", "c"
    objDic.Add "opportunity_id", "d"
    Set PassDictionary = objDic
End Function

有问题的区域是Update函数。每次我运行代码,在Update函数上,它给我一个错误“类型不匹配”。谁能告诉我怎么才能让那玩意儿工作?

EN

回答 1

Stack Overflow用户

发布于 2016-03-11 19:49:47

您传递的是单个字典,而不是一组字典。试试像这样的东西

代码语言:javascript
复制
Set x = PassDictionary
arr = Array(x)
objQWS.Update "Name", arr, ""

但是,不确定它是否可以工作,因为VBScript并不真正知道类型,所以数组的类型将是Variant()

您可以尝试的另一件事是将参数的类型从Scripting.Dictionary[]更改为Scripting.Dictionary,因为您只传递了一个字典。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35929324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档