Ошибка «Пользовательский тип не определен» в VB 6 под Windows 7 - PullRequest
9 голосов
/ 13 января 2011

Я использую 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

Как можно решить эту ошибку

Ответы [ 3 ]

24 голосов
/ 13 января 2011

При появлении ошибки компилятор автоматически подсвечивает первую строку объявления функции.Это означает, что ошибка происходит где-то в этой строке.Иногда это не так полезно, как хотелось бы, но в этом случае вам удается рассказать вам довольно много.

В частности, единственный «определяемый пользователем тип» (на самом деле, единственный «тип» ввсе), которое появляется в объявлении функции MSComctlLib.Button.Здесь сообщение об ошибке компилятора говорит о том, что он не знает, что такое MSComctlLib.Button.Поэтому он предполагает, что это «определенный пользователем» тип , потому что он часто не знает, о чем говорит пользователь.: -)

В любом случае, исправление простое: вам нужно сообщить компилятору, что такое MSComctlLib.Button.В этом случае он предположил, что это определенный пользователем тип.На самом деле это элемент управления button , предоставляемый в библиотеке общих элементов управления Microsoft Windows. Чтобы сообщить VB 6 об этом элементе управления, вам нужно добавить соответствующий компонент в ваш проект.Выполните следующие действия:

  1. В меню «Проект» выберите «Компоненты».

  2. В появившемся диалоговом окнепрокрутите около 2/3 пути вниз по списку до М.Поставьте флажки в элементах «Microsoft Windows Common Controls 6.0» и «Microsoft Common Controls-2 6.0».(Не беспокойтесь, если у вас другое назначение пакета обновления.)

    Components dialog in VB 6 IDE

  3. Нажмите кнопку OK.Если вы работаете быстро, вы увидите, что некоторые дополнительные элементы управления добавляются в ваш набор инструментов.Это элементы управления, предоставляемые библиотеками компонентов, которые вы только что добавили.Среди этих элементов управления есть элемент с именем Button.

Наконец, попробуйте скомпилировать и запустить свой проект снова - на этот раз все должно быть хорошо, потому что теперь компилятор знает, что такое MSComctlLib.Buttonтип есть.Если вы все еще этого не делаете, это кнопка, которая появляется на вашей панели инструментов.Элемент управления панели инструментов предоставляется библиотекой Common Controls и включает в себя тип, который определяет отдельную кнопку, появляющуюся на этой панели инструментов.

0 голосов
/ 26 декабря 2012

Я думаю, вы просто скопировали и вставили этот код из другого места.Обычно, если вы хотите сослаться на MSComctlLib, вы обычно делаете сначала шаги, указанные здесь Cody Grey, прежде чем сможете получить доступ к библиотеке типов.

0 голосов
/ 13 января 2011

Похоже, вам не хватает ссылки на библиотеку объектов.

(Вы выполнили его без ошибок в другом месте?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...