數組問題
數組在程序中使用的很多,而且比較容易出問題
我們通過小例子來看看
打開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。這樣做可以避免一些錯誤。不過盡可能的減少引用傳遞參數
未完待續
|