使用VB写ASP组件的朋友,你还在用ByRef传递参数吗?
2010-04-21 19:36
393 查看
看看微软的推荐吧:http://support.microsoft.com/kb/244012/zh-cn
下面的代码示例说明了各种方案,从而导致
类型不匹配
与方法调用从 Visual Basic 脚本使用 Visual Basic COM 组件的活动服务器页面 (ASP) 错误。
[/code]
在以下条件,可能会导致错误的另一个示例:
[/code]
回到顶端
更多信息
有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
197957 (http://support.microsoft.com/kb/197957/EN-US/ ) 通过到 VC COM 对象的引用 PRB: 传递参数
197956 (http://support.microsoft.com/kb/197956/EN-US/ ) 通过到 VB COM 对象的引用 PRB: 传递参数
174576 (http://support.microsoft.com/kb/174576/EN-US/ ) HOWTO: 返回在 ASP 的服务器端对象中的数组
218454 (http://support.microsoft.com/kb/218454/EN-US/ ) HOWTO: 实现数组参数在 VC COM 对象的活动服务器页面
217114 (http://support.microsoft.com/kb/217114/EN-US/ ) HOWTO: 实现数组参数在 Visual Basic COM 对象的活动服务器页面
回到顶端
这篇文章中的信息适用于:
Microsoft Active Server Pages 4.0
Microsoft Visual Basic 5.0 学习版
Microsoft Visual Basic 6.0 学习版
Microsoft Visual Basic 5.0 专业版
Microsoft Visual Basic 6.0 专业版
Microsoft Visual Basic 5.0 企业版
Microsoft Visual Basic Enterprise Edition for Windows 6.0
回到顶端
下面的代码示例说明了各种方案,从而导致
类型不匹配
与方法调用从 Visual Basic 脚本使用 Visual Basic COM 组件的活动服务器页面 (ASP) 错误。
[code]'VB Code : [Project=prjParam;Class=clsParam] 'By default, the parameter is passed 'ByRef' Sub x( a as string ) a = "Changed" End Sub 'ASP Code k = "Hello" 'Create the above VB object Set obj = Server.CreateObject("prjParam.clsParam") obj.x k 'Type Mismatch error occurs obj.x (k) 'Using PARANTHESIS forces 'ByVal' , 'k' does not change Call obj.x (k) 'Type Mismatch error occurs Call obj.x cstr(k) 'The CSTR function returns a string, 'the address of the variable (k) is not passed. 'The value of 'k' doesn't change Set obj = Nothing
[/code]
在以下条件,可能会导致错误的另一个示例:
[code]'VB Code : [Project=prjParam;Class=clsParam] 'If you do not specify, by default the parameter is passed 'ByRef' 'Note: Parameter type is VARIANT Sub y( a as variant ) a = "Changed" End Sub 'ASP Code k = "Hello" 'Create the above VB object Set obj = Server.CreateObject("prjParam.clsParam") obj.y k 'changes 'k' obj.y (k) 'Using PARANTHESIS forces 'ByVal' , 'k' doesn't change Call obj.y (k) 'changes 'k' Set obj = Nothing
[/code]
回到顶端
更多信息
VBScript 仅支持 VARIANT ByRef 参数。 您可以使用 VBScript 调用一个过程,该过程将 ByRef 字符串,但使用 Visual B...
有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:197957 (http://support.microsoft.com/kb/197957/EN-US/ ) 通过到 VC COM 对象的引用 PRB: 传递参数
197956 (http://support.microsoft.com/kb/197956/EN-US/ ) 通过到 VB COM 对象的引用 PRB: 传递参数
174576 (http://support.microsoft.com/kb/174576/EN-US/ ) HOWTO: 返回在 ASP 的服务器端对象中的数组
218454 (http://support.microsoft.com/kb/218454/EN-US/ ) HOWTO: 实现数组参数在 VC COM 对象的活动服务器页面
217114 (http://support.microsoft.com/kb/217114/EN-US/ ) HOWTO: 实现数组参数在 Visual Basic COM 对象的活动服务器页面
回到顶端
这篇文章中的信息适用于:
Microsoft Active Server Pages 4.0
Microsoft Visual Basic 5.0 学习版
Microsoft Visual Basic 6.0 学习版
Microsoft Visual Basic 5.0 专业版
Microsoft Visual Basic 6.0 专业版
Microsoft Visual Basic 5.0 企业版
Microsoft Visual Basic Enterprise Edition for Windows 6.0
回到顶端
关键字: | kbmt kbcodesnippet kberrmsg kbinfo KB244012 KbMtzh |
相关文章推荐
- 手把手教你使用VB来创建ASP组件
- c#asp.net url 传递中文参数要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode
- 手把手教你使用VB来创建ASP组件
- 使用vb编写asp组件时最需要注意的事项
- 如何在asp中,使用vb来开发dll组件 (提供视频下载)
- asp.net中使用cookie传递参数的方法
- c#asp.net url 传递中文参数要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode
- VB编写各类COM对象(特别是ASP)时,如何让外部对象使用含有可选参数的函数
- 手把手教你使用VB来创建ASP组件
- 手把手教你使用VB来创建ASP组件
- Asp.Net MVC使用HtmlHelper渲染,并传递FormCollection参数的陷阱
- 手把手教你使用VB来创建ASP组件
- 手把手教你使用VB来创建ASP组件
- 数据搬运工-VB中参数(ByVal,ByRef)的传递
- asp.net中使用cookie传递参数的方法
- ASP.NET 参数传递,长度限制,及使用注意事项。
- 手把手教你使用VB来创建ASP组件
- ASP.NET使用Jquery-Ajax向ashx传递参数中文出现乱码
- c#asp.net url 传递中文参数要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode
- ASP.net使用URL传递中文参数