Отладка Activex Control

Тема в разделе "Visual Basic", создана пользователем TOPAZ, 8 июл 2008.

  1. TOPAZ

    TOPAZ Гость

    Кто-нибудь делал с использованием среды MS VB6SP6 элемент управления (проект ActiveX Control) для использования в стороннем приложении?

    Вопрос простой: а как этот элемент управления отлаживать?

    Если проект ActiveX DLL или (ActiveX EXE), то проблем нет. Стартуешь проект в среде разработки, а затем стартуешь стороннее приложение, которое использует объекты из отлаживаемой библиотеки и все OK. А вот с ActiveX Control засада :)

    Простой пример. Делается элемент управления (ActiveX Control) для использования на формах MS Excel. Если элемент управления скомпилирован, то вопросов с использованием не возникает. А вот если пытаться отладить код элемента управления, то одна большая проблема - отладить не получается. Ошибка в момент создания элемента управления "Класс не зарегистрирован".
     
  2. skysun

    skysun Гость

    я бы создал еще один проект специально для отладки в VB. Отладил бы методы и свойства и затем бы юзал его в ехеле.

    Когда объединяешь 2 проекта в VB то отладка проходит как обычно
     
  3. TOPAZ

    TOPAZ Гость

    Ошибочное сообщение
     
  4. TOPAZ

    TOPAZ Гость

    Этот способ понятный и применимый, если контрол универсальный и расчитан на использование в рамках произвольных приложений.
    А если контрол специализированный и завязан специфические моменты использующего его приложения, то проблема остается. Например, контрол реализует дополнительные интерфейсы стороннего приложения или, в случае Excel "завязан" на непосредственное взаимодействие с объектной моделью Excel (ячейки, листы,...).

    Не понятны сами причины невозможности отладки :)

    Дело обстоит совсем странно - существует какая-то непостижимая разница в отношении отладки в среде VB между ActiveX dll и ActiveX Control, хотя по факту они отличаются лишь набором интерфейсов и расширением файлов.

    Когда ActiveX Control запущен в VB в режиме отладки, его невозможно инстанциировать как COM-объект.
    В OleView класс виден, правда путь к файлу указывает на vb6debug.dll, но при попытке загрузки возникает ошибка class not registered.

    Если же тип проекта ActiveX DLL, все работает нормально, никаких проблем с отладкой, причем в режиме отладки регистрация так же перенаправляется на vb6debug.dll, т.е. используется тот же механизм перехвата вызовов.

    Единственный контейнер, в котором контрол можно отладить - это IE :eek:
    Ну очень интересно, чем IE в данном случае отличается от всех других контейнеров и вообще COM-клиентов.

    Этот способ понятный и применимый, если контрол универсальный и расчитан на использование в рамках произвольных приложений.
    А если контрол специализированный и завязан специфические моменты использующего его приложения, то проблема остается. Например, контрол реализует дополнительные интерфейсы стороннего приложения или, в случае Excel "завязан" на непосредственное взаимодействие с объектной моделью Excel (ячейки, листы,...).

    Не понятны сами причины невозможности отладки :blink:

    Дело обстоит совсем странно - существует какая-то непостижимая разница в отношении отладки в среде VB между ActiveX dll и ActiveX Control, хотя по факту они отличаются лишь набором интерфейсов и расширением файлов.

    Когда ActiveX Control запущен в VB в режиме отладки, его невозможно инстанциировать как COM-объект.
    В OleView класс виден, правда путь к файлу указывает на vb6debug.dll, но при попытке загрузки возникает ошибка class not registered.

    Если же тип проекта ActiveX DLL, все работает нормально, никаких проблем с отладкой, причем в режиме отладки регистрация так же перенаправляется на vb6debug.dll, т.е. используется тот же механизм перехвата вызовов.

    Единственный контейнер, в котором контрол можно отладить - это IE :eek:
    Ну очень интересно, чем IE в данном случае отличается от всех других контейнеров и вообще COM-клиентов.
     
Загрузка...
Похожие Темы - Отладка Activex Control
  1. Allexei
    Ответов:
    2
    Просмотров:
    4.163
  2. roddm
    Ответов:
    21
    Просмотров:
    2.500
  3. brewer
    Ответов:
    1
    Просмотров:
    1.286
  4. Dumm
    Ответов:
    1
    Просмотров:
    1.439
  5. andrey24
    Ответов:
    0
    Просмотров:
    2.058

Поделиться этой страницей