在Classic ASP中通过COM调用.NET DLL方法的过程无效

129*_*983 2 vb6 com

当我尝试运行一些VB6代码时,我收到以下错误:

Microsoft VBScript runtime error: Invalid procedure call or argument: 'stx.ResolveAddress'
Run Code Online (Sandbox Code Playgroud)

但是,在下面的代码中,如果我没有将返回"stx.ResolveAddress"设置为变量,我不会得到上述错误.

Set stx = CreateObject("MyApp.Api.Wse3.STxTransactionService")
Set addr = CreateObject("MyApp.Api.Wse3.Address")
addr.Address1 = "1850 Table Mesa Dr"
addr.Address2 = "Boulder, CO 80305"
stx.ResolveAddress(addr)
Run Code Online (Sandbox Code Playgroud)

但是,如果我将最后一行更改为以下内容:

result = stx.ResolveAddress(addr)
Run Code Online (Sandbox Code Playgroud)

我收到"无效的过程调用"错误.有什么我想念的吗?为什么赋值会导致错误发生?

Rey*_*rdC 6

我通过在传递给有问题的函数的参数周围添加一对额外的括号来解决完全相同的问题,如下所示:

result = stx.ResolveAddress((addr))
Run Code Online (Sandbox Code Playgroud)

关于4guysfromrolla的讨论.