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

发表于:2007-06-30来源:作者:点击数: 标签:
数组问题 数组在程序中使用的很多,而且比较容易出问题 我们通过小例子来看看 打开 vb 6,新建Activex Dll工程。工程名修改为fCom,类名修改为fC4 点击菜单-工具-添加过程 我们在名称内输入AcceptArray1,类型选择子程序,范围选择公有,然后确定 再次操作:在名

  数组问题

  

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

  我们通过小例子来看看

  

  打开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。这样做可以避免一些错误。不过尽可能的减少引用传递参数

  

  未完待续

原文转自:http://www.ltesting.net