脂砚斋石头记庚辰本txt:VB声明变量重复的问题?

来源:百度文库 编辑:高考问答 时间:2024/05/10 15:26:56
新人问题 不要笑
Public InfoBack As String
Public GotData As String
Public Sub JinC(ByVal MyStr As String)
Dim EachC, EachS As String
Dim i As Integer
FrmOnr.Show
EachS = ""
MyStr = Right$(MyStr, Len(MyStr) - 7)
For i = 0 To Len(MyStr)
EachC = Mid$(MyStr, i, 1)
If EachC <> "|" Then
EachS = EachS & EachC
Else
FrmOnr.List1.AddItem (EachS)
EachS = ""
End If
Next i
End Sub
Public Sub MouP(MyStr As String)
Dim MyStr As String
Dim i As Integer
Dim X, Y As String
Dim EachC, EachS As String
FrmMouse.Show
MyStr = Right$(MyStr, Len(MyStr) - 7)
For i = 0 To Len(MyStr)
If EachC <> "|" Then
EachS = EachS & EachC
Else
X = EachS
Y = Right$(MyStr, Len(MyStr) - Len(X) - 1)
End If
Next i
MsgBox X & Y
End Sub
这段代码问题出在哪里了 为什么说
MyStr As String
申明变量重复?

因为原来的 Mystr 变量名称被作为一个过程的参数进行传递,这样的变量不可以在过程内部再次声明,请你将Moup 过程内部的 Dim MyStr As String 这一句去掉就可以了。

另外,你的 Moup 过程的顶部好像有点问题应该改成这样

Public Sub MouP(Byval MyStr As String)

MyStr 是不是在函数外定义了全局变量啊