pet*_*hen 5 com vbscript method-signature
我可以使用签名来调用COM方法
HRESULT Foo(BSTR in, [out] BSTR * out1, [out] BSTR * out2)
Run Code Online (Sandbox Code Playgroud)
来自VBScript?
下列:
Dim a;
Dim b;
component.Foo "something", a, b
Run Code Online (Sandbox Code Playgroud)
给出了关于不兼容类型的错误.
我仍然可以改变方法的签名.
貌似不支持输出参数;while ByRef/[in, out]参数是,但仅限于VARIANT参数。
来自以下知识库文章:
\n\n信息:将参数从 ASP 组件传递到 Visual Basic 组件 @ support.microsoft.com 时出现类型不匹配错误
\n\n" VBScript 仅支持 VARIANT ByRef 参数。您可以使用 VBScript 调用采用 ByRef 字符串的过程,但使用 Visual Basic 构建的组件的默认行为是在尝试将 ByRef 参数传递给这些组件时失败,并出现类型不匹配错误。OLE当要求将 ByRef 变体转换为任何其他 ByRef 类型时,自动化的默认类型强制函数会失败。 ”
\n\n此外,这里还有有关该主题的其他链接:
\n\n输入、输出、输入输出,下定决心吧 @ MSDN 博客
\n VBScript \xe2\x80\x9cType Mismatch\xe2\x80\x9d 与 \xe2\x80\x9c[in, out] BSTR * \xe2\ 的问题x80\x9d 参数 SO 问题
| 归档时间: |
|
| 查看次数: |
1759 次 |
| 最近记录: |