VB 对象变量数组

Public Function form_port(AForm As Form, BCom() As ComboBox, CTex() As TextBox, DMsc As MSComm) As String
Set AForm = Form1
Set BCom(0) = AForm.Combo1 '串口号
Set BCom(1) = AForm.Combo2 '串口波特率
Set BCom(2) = AForm.Combo3 '发送数据长度
Set CTex(0) = AForm.Text1 '发送数据显示
Set CTex(1) = AForm.Text2 '接受数据显示
Set CTex(2) = AForm.Text3 '读取数据长度
Set CTex(3) = AForm.Text4 '设备号
Set CTex(4) = AForm.Text5 '接受数据16进制显示
Set CTex(5) = AForm.Text6 '接受数据10进制显示
Set CTex(6) = AForm.Text7 '读取开始地址
Set CTex(7) = AForm.Text8 '功能码
Set DMsc = AForm.MSComm1 '串口部件
End Function
********************************************************
怎么吧上面的代码变成下面的形式呢 现在我自己写的下面代码不对
*********************************************************
Public Function form_port_close(a As Form, B() As ComboBox, C() As TextBox, D As MSComm) As String
Set a = Nothing
For I = 0 To 2
Set B(I) = Nothing
Next
For I = 0 To 7
Set C(I) = Nothing
Next
Set D = Nothing
End Function

Public Function form_port_a() As String
Set AForm = Form1
For I = 0 To 2
Set BCom(I) = AForm.Combo(I + 1)
Next
For I = 0 To 7
Set CTex(I) = AForm.Text(I + 1)
Next

Set DMsc = AForm.MSComm1 '串口部件
End Function
最新回答
不觉素颜

2024-10-15 09:15:12

感觉这些代码的定义都是多余的
使用“控件数组”比如Text1控件:在属性名称设置为CText,index设置为0,即为CText(0)控件。复制该控件后黏贴几次就能自动产生CText(1),CText(2),CText(3),.....CText(7)控件,其他控件也是一样方法设置。
MSComm1控件直接在属性名称改为DMsc即可于代码里使用DMsc写代码。