分布式组件状态问题
创建了一个activex exe工程,想实现一个客户端只能调用一次此工程中的方法。
我在模块中定义了一个public的数组,想用它来保存客户端信息,但是在执行时不能实现此功能。
代码如下:
'模块代码
Public arrUsers() As String
'类代码
Public Function ConRegCenter(ByVal UserName As String) As String
If addUser(UserName) Then
ConRegCenter = "hello:" & UserName
Else
ConRegCenter = UserName & ",该用户已经存在!"
End If
End Function
Private Function addUser(ByVal UserName As String) As Boolean
Dim i As Integer, j As Integer
j = UBound(arrUsers)
For i = 1 To j
If arrUsers(i) = UserName Then
Exit Function
End If
Next
j = j + 1
ReDim Preserve arrUsers(0 To j) As String
arrUsers(j) = UserName
addUser = True
End Function
Private Sub Class_Initialize()
ReDim arrUsers(0 To 0) As String
arrUsers(0) = ""
End Sub
'客户端代码
Private Sub Command1_Click()
Dim m_cls1 As New clsRegCenter
MsgBox m_cls1.ConRegCenter(Text1.Text)
End Sub
客户端在执行时,在文本框中输入相同的字符串应该在第一次之后提示“用户已经存在”,但是每次的结果都是一样的