有关模块、类模块、DLL的数组传递(续一)

来源:互联网 发布:抢票软件 知乎 编辑:程序博客网 时间:2024/05/24 01:21

【代码示例1】和【代码示例2】,只使用了静态数组。下面使用的动态数组

【代码示例3】

1,开始一个新的标准 EXE 项目。默认情况下创建 Form1。

命名工程:动态数组

2,将类模块添加到项目中。

类命名:Ccalc

3,将以下代码放在类模块中:

Option Explicit
Public RowNum As Integer
Private Arr() As Variant

Public Function ArrayVar() As Variant
    Dim i As Integer
    ReDim Arr(1 To RowNum, 1 To 3)
    For i = 1 To RowNum
        Arr(i, 1) = i * 3 - 2
        Arr(i, 2) = i * 3 - 1
        Arr(i, 3) = i * 3
    Next i
    ArrayVar = Arr()
End Function

4,在窗体上添加

text1,接受数组最大行数

text2,将结果,即数组最下一行的元素写入

一个按钮。该按钮的代码为

Option Explicit

Private Sub Command1_Click()
    Dim A1 As Ccalc, Nn As Long
    Set A1 = New Ccalc
    Nn = Me.Text1.Text
    A1.RowNum = Nn
    Dim Arr() As Variant
    Arr = A1.ArrayVar
    Me.Text2.Text = Arr(Nn, 1) & " " & Arr(Nn, 2) & " " & Arr(Nn, 3)
End Sub

5,调试

 

 

参考【代码示例1】与【代码实例2】,注意他们的关系,dll中包含了类模块。
可以很容易将“代码示例3”,转化为excel与dll

与dll共享、相互调用数组数据,方法还有很多

原创粉丝点击