ASP+COM不得不注意的问题

2019-07-23 08:30:25来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

大家都知道ASP是一种非类型化的脚本语言,而由VB、VC、Delphi等语言开发的DLL组件都是强类型化的,今天爱站技术频道小编为大家带来ASP+COM不得不注意的问题有哪些?

示例代码:
Class?Test:

Public?Function?GetStr()
????GetStr?=?Split("a,b,c,d",?",")
End?Function

ASP代码:

Dim?o
Set?o=Server.CreateObject("Bqrm.Test")
Dim?arr
arr=o.GetStr()
Response.Write(TypeName(arr))???'输出String()
Response.Write(IsArray(arr))?????????'输出True??
Response.Write(arr(0))????????????????'输出类型不匹配,IsArray返回它是一个数组,可是你不能把它当成一个数组来操作,郁闷啊


但是改一个GetStr方法的代码,就能让它能用,如:
Public?Function?GetStr()
????GetStr?=?Array("a","b","c","d")
End?Function
改成这样它就不会出错了,不过,有的时候你又不可能把所有的元素都列出来呀,只好写一个函数,把它转换成无类型的数组,

Function?GetVbsArray(ByVal?arr)
????If?IsArray(arr)?Then
????????Dim?arrTmp()
????????ReDim?arrTmp(UBound(arr))
????????Dim?iBound
????????iBound?=?0
????????Dim?tmp
????????For?Each?tmp?In?arr
????????????arrTmp(iBound)?=?tmp
????????????iBound?=?iBound?+?1
????????Next
????????GetVbsArray?=?arrTmp
????????Erase?arrTmp
????Else
????????GetVbsArray?=?arr
????End?If
End?Function
把它放到一个模块里面,然后在返回数组的方法返回前,转换一下如:

Public?Function?GetStr()
????GetStr?=?GetVbsArray(Split("a,b,c,d",?","))
End?Function
这样,也就没有问题了.

以上就是关于ASP+COM不得不注意的问题介绍,相信时常关注爱站技术频道的朋友们已经都懂得了这些操作方法了。我们还有更多的资讯,如果你想了解更多记得关注我们的哦!


原文链接:https://js.aizhan.com/develop/asp/7701.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:asp之字符串操作函数

下一篇:ASP生成动态flash的工具与介绍