"Определяемый пользователем тип не определен" ошибка в VB 6 под Windows 7

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


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

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

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

  1. в меню" проект "выберите"компоненты".

  2. в появившемся диалоговом окне прокрутите около 2/3 пути вниз по списку до M-Х. Установите проверку с помощью элементов" Microsoft Windows Common Controls 6.0 "и" Microsoft Common Controls-2 6.0". (Не волнуйтесь, если у вас есть другой пакет обновления обозначение.)

    Components dialog in VB 6 IDE

  3. нажать кнопку "ОК". Если вы быстро, вы увидите некоторые дополнительные элементы управления добавляются в Панель инструментов. Это элементы управления, предоставляемые библиотеками компонентов, которые вы только что добавили. Среди этих элементов управления есть один называется Button.

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


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

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


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