我使用的是 Windows 7,我的项目是 VB 6.0。我在执行程序时遇到错误。它显示错误:
未定义用户定义类型。
这是我的代码:
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "trace": Call mntrace_Click
Case "snrplot": Call mnSnrplot_Click
Case "skyplot": Call mnskyplot_Click
Case "nmea": Call mnNmea_Click
Case "navigation": Call mnNavigation_Click
Case "survey": Call mnSurvey_Click
Case "pause/start": Call mnpause_Click
Case "save": Call mnsave_Click
Case "print": Call mnprint_Click
Case "offline": Call mnoffline_Click
End Select
End Sub
我该如何解决这个错误?
当错误出现时,编译器会自动突出显示函数声明的第一行。这意味着错误发生在该行的某个位置。有时这并不像您希望的那么有帮助,但在这种情况下,它可以告诉您很多信息。
具体来说,出现在函数声明中的唯一“用户定义类型”(实际上是唯一的“类型”)是MSComctlLib.Button
。编译器错误消息在这里告诉您的是,它不知道什么是MSComctlLib.Button
是。因此它假设它是一个“用户自定义”因为它通常不知道用户在说什么。 :-)
无论哪种方式,修复都很简单:您需要告诉编译器什么是MSComctlLib.Button
是。在这种情况下,它猜测它是用户定义类型,这是错误的。它实际上是一个buttonMicrosoft Windows 通用控件库中提供的控件。要告诉 VB 6 有关此控件的信息,您需要将相应的组件添加到您的项目中。按着这些次序:
-
从“项目”菜单中选择“组件”。
-
在出现的对话框中,将列表向下滚动大约 2/3 到 M。勾选“Microsoft Windows Common Controls 6.0”和“Microsoft Common Controls-2 6.0”项目。 (如果您的服务包名称不同,请不要担心。)
![Components dialog in VB 6 IDE](https://i.stack.imgur.com/884as.png)
-
单击“确定”按钮。如果你动作够快,你会看到一些额外的控件被添加到你的工具箱中。这些是您刚刚添加的组件库提供的控件。这些控件中有一个称为Button
.
最后,尝试再次编译并运行您的项目——这次一切都应该没问题,因为现在编译器知道什么是MSComctlLib.Button
类型是。如果您仍然不这样做,它会在您的工具栏上显示一个按钮。工具栏控件由公共控件库提供,它包含一个定义该工具栏上出现的单个按钮的类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)