Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Использование компонентов Bean в качестве ActiveX-элементов

Преимуществом открытой архитектуры JavaBean является отрадный факт возможности миграции из приложений, основанных на применении ActiveX-решений, в кроссплатформенный мир чистого Java благодаря технологии, известной как JavaBeans Architecture Bridge for ActiveX.

Мост JavaBean-ActiveX Преобразование JavaBean в ActiveX

Компоненты JavaBean могут быть использованы как встроенные объекты или компоненты Microsoft ActiveX внутри таких популярных приложений, как Microsoft Office, Internet Explorer и Visual Basic. Для этих целей можно применять стандартный Java Plug-in, бесплатно распространяемый фирмой JavaSoft, или воспользоваться возможностями JRE из JDK1.2.

Кратко о главном

Для того чтобы использовать JavaBean как встроенный объект, вы должны упаковать ваш JavaBean и затем применять его в качестве компонента ActiveX.

Реестровый файл в Windows (текстовый файл) и библиотека описания типов (.tlb — в которой хранятся описания объектов, их свойства, доступные методы и т. д.), будут созданы специальной программой-упаковщиком, входящей в состав JRE. В реестре будет записан уникальный идентификатор объекта, путь к компоненту, описание компонента и путь к библиотеке описания типов.

Файл TypeLib — это двоичный файл, который описывает все свойства компонента, обрабатываемые им события и исполняемые методы. Схематично процесс пакетирования изображен на рис. 2.5.
 

Рис. 2.5. Схема преобразования JavaBean в ActiveX (где Packager — программа-упаковщик, Registry File —реестровый файл)

 

Пакетирование и регистрация

Шаг 0. Старт упаковщика

Чтобы запустить упаковщик, выполните следующую командную строку из каталога, где у вас инсталлирован Java Plug-in, или непосредственно из \jdkl.2\jre\bin:
bin\java.exe -ср lib\rt.jar;lib\swingall.jar;lib\jaws.jar sun.beans.ole.Packager

На экране монитора появится окно упаковщика и он проведет вас последовательно через 5 шагов.

 

Шаг 1. Указание местонахождения jar-файла

Укажите имя jar-файла, который содержит JavaBean, и нажмите кнопку Next (рис. 2.6).

Рис. 2.6. Окно упаковщика

 

Шаг 2. Выбор компонента JavaBean

Средство пакетирования показывает список всех компонентов JavaBean внутри jar-файла. Выберите необходимый вам JavaBean и нажмите кнопку Next (рис. 2.7).

Рис. 2.7. Выбор из списка

Шаг 3. Присвоение имени ActiveX

Средство упаковки требует указания имени ActiveX для JavaBean. Это имя будет использоваться в среде ActiveX, чтобы обращаться к компоненту. Упаковщик предлагает имя по умолчанию (имя JavaBean минус префикс).

Так, если бы ВЫ выбрали вместо OrangeButton
В первом шаге,— sunw.demo. buttons.ExpiicitButton, то и предлагаемое имя было бы — ExpiicitButton (рис. 2.8).

Рис. 2.8. Присвоение имени компоненту ActiveX

 

Шаг 4. Указание принимающего каталога

Упаковщик создает реестровый файл (.reg) и библиотеку описания типов (.tlb) в каталоге, который вы указали (рис. 2.9). Обратите внимание, что реестровый файл содержит информацию относительно расположения файла библиотеки классов, как еще иногда называют TypeLib.
Если вы захотите переместить файл библиотеки классов, вам потребуется вручную модифицировать реестровый файл и зарегистрировать его снова.
Местоположение beans.ocx (компонент Java Plug-in ActiveX) определено при инсталляции Java. Опять-таки, если вы перемещаете beans.ocx, вы должны вручную изменить этот файл.

 

Рис. 2.9. Выбор принимающего каталога

 

Шаг 5. Начало генерации

Упаковщик автоматически регистрирует компонент в реестре Windows на вашей локальной машине.
При выполнении этого шага компонент JavaBean будет автоматически доступен в любом ActiveX-контейнере (рис. 2.10).

Рис. 2.10. Генерация ActiveX-компонента из JavaBean

     
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru