Vb6 从另一个子系统访问新创建的线
从新创建的元素访问信息时遇到一些问题。这是我的代码Vb6 从另一个子系统访问新创建的线,vb6,Vb6,从新创建的元素访问信息时遇到一些问题。这是我的代码 Private Sub c1_Click() Refresh Timer1.Enabled = Not Timer1.Enabled If Timer1.Enabled Then c1.Caption = "Stop" Else c1.Caption = "Start" End If a = l.X2 - l.X1 choice = a End Sub Private Sub Form_Load()
Private Sub c1_Click()
Refresh
Timer1.Enabled = Not Timer1.Enabled
If Timer1.Enabled Then
c1.Caption = "Stop"
Else
c1.Caption = "Start"
End If
a = l.X2 - l.X1
choice = a
End Sub
Private Sub Form_Load()
Dim l As Line
Set l = Controls.Add("VB.Line", "l", Me)
With l
.X1 = 2760
.Y1 = 3000
.X2 = 5640
.Y2 = 3000
.Visible = True
.BorderStyle = 1
.BorderWidth = 2
.BorderColor = vbRed
End With
End Sub
当我点击按钮“Object required”(需要对象)时,我得到了一个错误。在表单上我可以看到行,但我无法从另一个子节点访问它。问题出在哪里?您的
行
变量l
是表单加载
过程的私有项,超出了范围
将Dim l As Line
从Form_Load
移动到表单代码模块的顶部(在任何方法或函数之外)。这将使您的表单上的任何方法或过程都可用:
Dim l As Line
Private Sub c1_Click()
Refresh
Timer1.Enabled = Not Timer1.Enabled
If Timer1.Enabled Then
c1.Caption = "Stop"
Else
c1.Caption = "Start"
End If
a = l.X2 - l.X1
choice = a
End Sub
Private Sub Form_Load()
Set l = Controls.Add("VB.Line", "l", Me)
With l
.X1 = 2760
.Y1 = 3000
.X2 = 5640
.Y2 = 3000
.Visible = True
.BorderStyle = 1
.BorderWidth = 2
.BorderColor = vbRed
End With
End Sub
“在表单上,我可以看到行,但我无法从另一个子节点访问它。”正如C-Pound Guru指出的,除非将该变量移出表单级别,否则无法通过变量
l
访问它。但是,您可以使用控件(“l”).xxx=yyy
通过控件集合按名称访问控件本身。不客气。请随意点击复选框接受答案。