Asp组件初级入门与精通系列之四

数组问题

数组在程序中使用的很多,而且比较容易出问题

我们通过小例子来看看

打开vb6,新建Activex Dll工程。工程名修改为fCom,类名修改为fC4

点击菜单->工具->添加过程

我们在名称内输入AcceptArray1,类型选择子程序,范围选择公有,然后确定

再次操作:在名称内输入AcceptArray2,类型选择函数,范围选择公有,然后确定即可

功能:传递数组地址到组件,使用ByRef关键字,并赋值返回

Public Sub AcceptArray1(ByRef varray As Variant) As Variant

    varray(0) = "龙卷风"

    varray(1) = "20"

End Sub

功能:返回一个字符串数组

Public Function AcceptArray2() As Variant

       Dim a(2) as Variant

    a(0) = "龙卷风"

a(1) = "20"

AcceptArray2=a

End Function

Ok,一个组件就写好了,点击菜单->文件->生成fCom.dll文件

确定,在目录下就会有fCom.dll文件

测试

打开visual interdev6.0,生成一个asp文件

<%@ Language=VBScript %>

<HTML>

<BODY>

<%

dim obj

set obj = server.createobject("fCom.fC4")

dim a(2)

'测试第一个组件方法

obj.AcceptArray1(a)

response.write a(0)

response.write "<br>"

response.write a(1)

response.write "<br>"

'测试第二个组件方法

dim b

b=obj.AcceptArray2()

for i=0 to ubound(b)

Response.Write b(i)

response.write "<br>"

next

%>

</BODY>

</HTML>

配置好虚拟目录,在ie中执行此asp文件,得到结果如下:

龙卷风
20
龙卷风
20

总结一下:

字符串,数字通过值传递或者作为返回值被返回

如果使用引用传递,将参数的类型设为Variant。这样做可以避免一些错误。不过尽可能的减少引用传递参数

未完待续

你可能感兴趣的:(asp)