用vb编写代码,执行时出现了编译错误,是说“子程序或函数未定义”,帮帮忙看一哈

2025-06-27 22:30:13
推荐回答(5个)
回答1:

'getSNameList没有声明 最前面加上这句:
Public Function getSNameList() As Boolean

'如下
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function getSNameList() As Boolean

End Function
Private Sub Form_Load()
Timer.Interval = 1000
End Sub

Private Sub timer_Timer()
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'获取本地计算机名并将其同赋给全局变量 myComputerName↓
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim name As String
name = String(225, " ")
Call GetComputerName(name, 225)
name = RTrim(name)
myComputerName = name
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'根据条件查找网络中的SQL服务器名并将其赋给 frmLand.cmbSName↓
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On Error GoTo err1
If GetSetting("yinhang", "yinhangBank", "IfSaveSvName") = 1 Then
frmLand.cmbSName = GetSetting("yinhang", "yinhangBank", "SName")
Else
err1:
If getSNameList() = False Then
MsgBox "服务器名加载错误,请稍后自行指定", vbExclamation, "提示"
End If
End If
''''''''''''''''''''''''''''''''''''
Unload Me
frmLand.Show
frmLand.SetFocus
End Sub

回答2:

你用我修改后的代码试试:
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Form_Load()
Timer.Interval = 1000
End Sub

Private Sub timer_Timer()
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'获取本地计算机名并将其同赋给全局变量 myComputerName↓
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim name As String
name = String(225, " ")
Call GetComputerName(name, 225)
name = RTrim(name)
myComputerName = name
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'根据条件查找网络中的SQL服务器名并将其赋给 frmLand.cmbSName↓
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On Error GoTo err1
If GetSetting("yinhang", "yinhangBank", "IfSaveSvName") = 1 Then
frmland.CmbSName = GetSetting("yinhang", "yinhangBank", "SName")
Else
err1:
If getSNameList = False Then
MsgBox "服务器名加载错误,请稍后自行指定", vbExclamation, "提示"
End If
End If
''''''''''''''''''''''''''''''''''''
Unload Me
frmland.Show
frmland.SetFocus
End Sub

回答3:

getSNameList()这个函数没有定义,所以出错。

回答4:

“If getSNameList() = False Then”这行中的 getSNameList() 没有定义

回答5:

GetSetting,GetSetting都没有定吧。

你要学会debug,单步跟踪一下,就可以发现问题所在了。开发人员debug排除问题是最基本技能