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 文件

1@ Language=VBScript 
1<html>
2<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

1
2</body>
3</html>

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

龙卷风
20
龙卷风
20

总结一下:

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

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

未完待续

Published At
Categories with Web编程
Tagged with
comments powered by Disqus