"Benutzerdefinierter Typ nicht definiert" - Fehler in VB 6 unter Windows 7
Ich benutze Windows 7 und mein Projekt ist in VB 6.0. Ich bin immer Fehler, während ich die Ausführung meines Programms. Es zeigt den Fehler:
Benutzerdefinierter Typ nicht definiert.
Hier ist mein code:
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
Wie kann ich das Problem lösen diesen Fehler?
- Wie Sie das von uns erwarten, ein problem zu Debuggen, wie diese, es sei denn, Sie veröffentlichen einige code? Insbesondere der Teil, der debugger markiert für Sie als die den Fehler enthält.
- Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Schlüsselkasten "trace": Rufen Sie mntrace_Click Fall "snrplot": Rufen Sie mnSnrplot_Click Fall "skyplot": Rufen Sie mnskyplot_Click Fall "nmea": Rufen Sie mnNmea_Click Fall "navigation": Rufen Sie mnNavigation_Click Fall "Umfrage": Rufen Sie mnSurvey_Click Fall "pause/start": Aufruf mnpause_Click Case "save": Rufen Sie mnsave_Click Case "print": Rufen Sie mnprint_Click Fall "offline": Rufen Sie mnoffline_Click End Select End Sub
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist der compiler automatisch die Hervorhebung der ersten Zeile von der Deklaration der Funktion für Sie, wenn die Fehlermeldung angezeigt wird. Das bedeutet, dass der Fehler tritt irgendwo in dieser Zeile. Das ist manchmal nicht so hilfreich, wie Sie möchten, aber in diesem Fall, es gelingt Ihnen sagen, eine ganze Menge.
Speziell, die nur "benutzerdefinierter Typ" (wirklich, der einzige "Typ" überhaupt), der wird in der Deklaration der Funktion ist
MSComctlLib.Button
. Was die compiler-Fehlermeldung angezeigt wird, sagen Sie hier, dass Sie nicht wissen, was einMSComctlLib.Button
ist. Es geht daher davon aus es ist ein "Benutzer-definiert" Art, weil Sie oft nicht wissen, was der Benutzer spricht. 🙂So oder so, die Lösung ist einfach: Sie brauchen, um zu sagen, der compiler, was ein
MSComctlLib.Button
ist. In diesem Fall, es erraten falsch in der Annahme, dass es sich um einen benutzerdefinierten Typ. Es ist eigentlich ein Taste - Steuerelement der Microsoft Windows Common Controls Library. Zu sagen VB 6 über diese Kontrolle, müssen Sie die entsprechende Komponente zu Ihrem Projekt. Gehen Sie folgendermaßen vor:Aus der "Projekt" - Menü, wählen Sie "Komponenten".
In dem Dialogfeld, das erscheint, scrollen Sie etwa 2/3 des Weges nach unten die Liste der M ist. Setzen Sie ein Häkchen, indem Sie sowohl die "Microsoft Windows Common Controls 6.0" und "Microsoft Common Controls-2 6.0" - Elemente. (Keine Sorge, wenn dein haben eine andere service pack-Bezeichnung.)
Klicken Sie auf die Schaltfläche OK. Wenn du schnell bist, siehst du einige weitere Steuerelemente, die Hinzugefügt wird, um Ihre toolbox. Diese sind die Bedienelemente zur Verfügung gestellt, die durch die Komponente Bibliotheken, die Sie gerade Hinzugefügt haben. Bei diesen Kontrollen ist eine sogenannte
Button
.Schließlich versuchen, kompilieren Sie und führen Sie Ihr Projekt erneut—dann sollte alles in Ordnung sein dieses mal, denn jetzt weiß der compiler, was die
MSComctlLib.Button
Typ ist. Falls Sie immer noch nicht, es ist eine Taste auf Ihre Symbolleiste. Das toolbar-Steuerelement bereitgestellt durch die Allgemeinen Steuerelemente Bibliothek, und es enthält eine Art definiert, dass eine einzelne Schaltfläche erscheint auf der Symbolleiste.Klingt wie Sie fehlen, einen Verweis auf ein Objekt-Bibliothek.
(Haben Sie ausgeführt, ohne Fehler an anderer Stelle?)
Ich denke, dass Sie gerade kopiert und eingefügt, dass der code von anderswo. Normalerweise, wenn Sie wollten Referenz MSComctlLib, werden Sie in der Regel tun die ersten Schritte erklärt von Cody Grau hier, bevor Sie Zugriff auf die Typ-Bibliothek.