Проблема с Activex

Тема в разделе "MS Visual C++", создана пользователем jarilo, 31 июл 2008.

  1. jarilo

    jarilo Гость

    У меня есть задача - передать некоторые данные из DLL, написанной на С++ в прогу на Java.
    Причем данные эти я должен взять из элемента ActiveX.
    Насколько я понимаю, ActiveX должен обязательно быть размещен в каком-то окне, класс которого порожден от CWnd. Но проблема еще и в том, что мне не нужно, чтобы пользователь видел этот ActiveXэлемент
    Делаю так:
    m_Camera - объект класса, реализующего интерфейс элемента ActiveX и порожденный от CWnd.
    Если вызывать этот код из MFC-приложения, все работает. В DLL работать отказывается.

    У меня два вопроса:
    1. Почему не работает.
    2. Можно ли использовать ActiveX, не создавая окна?
     
  2. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    попробуй j-interop
     
  3. skysun

    skysun Гость

    1) Java и ActiveX несовместимы. Надо писать "прослойку" на JNI.
    2) в твоем случае без окна не обойтись т.к. ты создаешь контрол.
    3) Лучше используй родные Java пакеты - проблем меньше.
     
  4. jarilo

    jarilo Гость

    Проблему решил с помощью пакета jacoZoom. Очень хороший продукт - рекомендую. Не нужно никаких DLL к проекту добавлять, только один jar-файл. Есть модуль, который генерит на основе ActiveX код на Java для пользования этим элементом. Все очень просто и понятно. Он правда немного платный, но демо-версия делает все то же, что и лицензионная.
    Сравнивал с другими пакетами, из бесплатных - с JACOB, но у него слабая (почти не реализованная) поддержка ActiveX. Из платных - JCOM, но он во-первых создает дополнительную DLL, которую надо вставлять в проект, она к тому же еще и ругаться будет после окончания trial-периода, во-вторых - неоправданно дорог. Пробовал еще несколько пакетов - недостатки те же, что и у первых двух.

    Окно все-таки пришлось создать, но я задал его размеры 1х1, и его не видно.

    Родные Java-пакеты использовать в моем случае было невозможно, так как ActiveX элемент поставляется вместе с оборудованием, для которого нет Java-пакетов и для которого неизвестны форматы передаваемых данных.
     
Загрузка...
Похожие Темы - Проблема Activex
  1. c0de3r
    Ответов:
    4
    Просмотров:
    108
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    129
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    116
  4. Artael
    Ответов:
    1
    Просмотров:
    106
  5. ENSLER
    Ответов:
    0
    Просмотров:
    100

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