к оглавлению   к 4GL - визуальному программированию

Сборка и импорт ActiveX-элементов

ActiveX — это технология, созданная на основе модели компонентных объектов (Component Object Model, COM). Помимо создания WFC-ком-понентов, Visual J+ + используют и для создания и импорта ActiveX-элементов. Поскольку ActiveX строится на основе СОМ, встраивать ActiveX в программу так же легко, как и другие СОМ-объекты. Можно создавать элементы управления для применения в других средах разработки, например в Microsoft Visual Basic или Microsoft Visual C++, и для расширения возможностей HTML-страниц. Более того, можно импортировать ActiveX-элементы сторонних поставщиков для улучшения своих WFC-приложений. Из этой главы Вы узнаете:

Создание элементов управления ActiveX

Средствами модели WFC-компонентов можно создать элементы управления ActiveX, которые будут использоваться, в WFC-приложениях или в других средах разработки, поддерживающих ActiveX. Для создания ActiveX-элемента из WFC-элемента зарегистрируйте класс WFC-элемента в качестве класса СОМ. После этого поместите файл класса в COM DLL и зарегистрируйте ее в реестре как ActiveX-элемент. Элемент управления, зарегистрированный как ActiveX-элемент, доступен для ActiveX-клиента.

В данном примере использован WFC-элемент, описанный в разделе «Создание элемента управления» главы 1 «Создание проектов». Если он еще не создан, то сделайте это, а затем следуйте процедурам, изложенным в этом разделе. Далее Вы узнаете:

Примечание Для последующих операций необходим открытый в Visual J++ проект компонента WFC.

Определение элемента управления WFC как СОМ-объекта

Для получения доступа к элементу управления из других клиентов ActiveX нужно определить его как объект СОМ. Чтобы представить класс в виде объекта СОМ, поместите перед определением класса тэг комментария @com.register. Visual J++ позволяет автоматически генерировать такой тэг для конструируемых Вами классов.

Примечание Если проект элемента управления создан с использованием шаблона Control, то он уже содержит тэг комментария для регистрации в качестве объекта СОМ. Вам нужно только удалить две косые черты «//» в начале комментария.

Чтобы определить компонент WFC как объект СОМ:

  1. В меню Project выберите команду <Project> Properties (где <Ргоject> — имя Вашего проекта элемента управления).
  2. В диалоговом окне < Project > Properties щелкните на вкладке СОМ Classes.
  3. В списке классов выберите класс Вашего элемента управления.
  4. Щелкните кнопку Options.
  5. Этот пункт необязателен. В диалоговом окне Type Library Options измените имя файла библиотеки типов, созданного для определения интерфейса с элементом управления, имя библиотеки, название элемента управления, под которым он виден в среде разработки, и информацию файла справки и щелкните ОК.
  6. В диалоговом окне < Project> Properties щелкните ОК.

Visual J++ добавит поверх определения класса тэг комментария для регистрации класса в качестве объекта СОМ.

Примечание Если не нужно определять несколько классов в качестве СОМ, то класс СОМ можно определить в диалоговом окне Class Properties. Для вывода этого диалогового окна щелкните правой кнопкой мыши в Class Outline на имени класса и выберите команду меню Class Properties. В появившемся диалоговом окне отметьте флажок COM Class.

Размещение элемента управления в COM DLL

После того как элемент управления WFC определен в качестве CQM-объекта, обязательно поместите файлы класса элемента управления в файл COM DLL. Это необходимо, чтобы элемент был доступен как ActiveX-элемент. COM DLL предоставляет интерфейс, используемый клиентами ActiveX для доступа к элементу управления и его компонентам.

Примечание Для распространения ActiveX-элементов по Интернету можно разместить их в САВ-файле, а не в COM DLL.

Чтобы создать элемент управления как COM DLL:

  1. В меню Project выберите команду <Project> Properties (где <Рrоject> — это имя Вашего проекта элемента управления).
  2. В диалоговом окне < Project> Properties активизируйте вкладку Output Format.
  3. Отметьте флажок Enable Packaging.

    Теперь на вкладке должны быть разрешены другие элементы.

  4. В списке Packaging type выберите COM DLL.
  5. В поле ввода File name введите имя библиотеки (имя по умолчанию создается на основе имени проекта).
  6. В соответствующем списке выберите Outputs of type и Java Classes & Resources.
  7. Щелкните ОК.

Сборка проекта

После конфигурирования опций размещения необходимо собрать проект. Затем Visual J++ добавит в проект библиотеку типов, где определен СОМ-интерфейс для элемента управления. Библиотека типов также содержит информацию, которую реестр использует для регистрации СОМ-класса в качестве элемента управления. После генерирования библиотеки типов Visual J++ регистрирует в реестре имеющиеся в проекте СОМ-классы, используя созданный файл библиотеки типов. Зарегистрировав классы, Visual J + + помещает файлы классов проекта и библиотеку типов в COM DLL.

Чтобы собрать проект:

Регистрация COM DLL

После регистрации WFC-классов в качестве СОМ-классов и размещения их в COM DLL нужно зарегистрировать COM DLL в системном реестре. Для этого применяется программа Regsvr32.exe. Поскольку библиотека типов описывает СОМ-классы в проекте как элемент управления, то Regsvr32 регистрирует COM DLL как элемент управления ActiveX. Когда COM DLL зарегистрирована, другие приложения могут видеть Ваш WFC-элемент в списке ActiveX-элементов, имеющихся в системе.

Чтобы зарегистрировать COM DLL:

  1. Щелкните на кнопке Start (Пуск) и выберите команду Run (Выполнить).
  2. В поле ввода Open (Открыть) введите: Regsvr32.exe <DLL path and filename> где <DLL path and filename> — это путь и имя файла DLL с элементом управления. Для данного Примера введите: Regsvr32 C:\Projectl\Projectl.dll
  3. Щелкните ОК.

Если получите сообщение, что регистрация не удалась, то проверьте правильность пути к файлу и наличие самого файла.

Тестирование элемента управления в среде Microsoft Visual Basic

Чтобы протестировать элемент управления ActiveX, добавьте его в приложение или в программный инструмент, который поддерживает ActiveX. Например, используйте для этого Microsoft Visual Basic версии 5.0 или более поздней.

Чтобы добавить ActiveX-элемент на основе WFC в форму Visual Basic:

  1. Запустите Visual Basic.
  2. Из меню File выберите New Project.
  3. В диалоговом окне New Project щелкните значок Standard EXE и затем — ОК.
  4. Щелкните правой кнопкой на Toolbox и затем — Components.
  5. В диалоговом окне Components выберите свой элемент управления и затем щелкните ОК.

    Для данного примера укажите элемент управления Projectl.

  6. В Toolbox дважды щелкните свой элемент управления для добавления его в форму.

Элемент будет помещен в центр формы. 3. Нажмите F5 для запуска проекта.

На экране появится форма с элементом управления. Если Вы работаете с элементом управления, который описан в разделе «Создание элемента управления» главы 1 «Создание проектов», то можете воспользоваться горизонтальной полосой прокрутки. Текст в элементе управления будет меняться в зависимости от положения ползунка. Информацию об импорте ActiveX-элемента в WFC-приложение см. в следующем разделе «Импорт элементов управления ActiveX».

Импорт элементов управления ActiveX

Элементы управления ActiveX расширяют возможности приложений на основе WFC. Сторонние поставщики предлагают ряд ActiveX-элементов, реализующих, например, кнопки произвольной формы, телефонные технологии, диаграммы, графики и электронные таблицы. Visual J + + импортирует элементы управления ActiveX, используя процесс, напоминающий импорт СОМ-объектов.

В данном примере Вы импортируете элемент управления Microsoft ActiveMovie, который устанавливается вместе с Microsoft Internet Explorer версии 4.0. Вы узнаете:

Регистрация элемента управления

Чтобы элемент управления ActiveX был доступен в Visual J++, его нужно зарегистрировать в системном реестре.

Примечание В данном примере не нужно регистрировать элемент управления ActiveMovie, так как он регистрируется при установке Internet Explorer.

Чтобы зарегистрировать элемент управления ActiveX:

  1. Щелкните кнопку Start (Пуск) и выберите команду Run (Выполнить).
  2. В поле ввода Open (Открыть) введите: Regsvr32.exe <DLL path and filename>где <DLL path and filename> — это путь и имя файла DLL с элементом управления. Для данного примера введите: Regsvr32 C:\Windows\System\AMOVIE.OCX
  3. Щелкните ОК,

Если получите сообщение, что регистрация не удалась, проверьте правильность пути к файлу и наличие самого файла.

Создание WFC-проекта

Когда импортируется элемент управления ActiveX, Visual J + + создает в проекте каталоги пакетов и добавляет в них классы-оболочки (class wrappers), используемые для доступа к ActiveX-элементу в этих каталогах. Следовательно, для импорта такого элемента нужно иметь доступный WFC-проект.

Чтобы создать WFC-npoект:

  1. Из меню File выберите New Project.
  2. На вкладке New раскройте папку Visual J++ Projects, щелкните Applications и затем — значок Windows Application.
  3. В поле ввода Name введите имя проекта.
  4. В поле ввода Location укажите путь к каталогу, в котором будет храниться проект, или щелкните Browse, чтобы перейти к соответствующей папке.
  5. Щелкните Open.

    В Project Explorer появится свернутое изображение проекта. (Если Project Explorer не виден, то выберите команду Project Explorer из меню View.)

  6. В Project Explorer раскройте узел проекта.

    В проект добавится файл с именем по умолчанию Forml.java.

  7. Чтобы открыть форму в Forms Designer, дважды щелкните на Forml.java в Project Explorer.

Импорт элемента управления ActiveX

После создания проекта в него можно импортировать элемент управления ActiveX. Для выбора ActiveX-элемента из списка элементов, установленных в системе, используйте диалоговое окно Customize Toolbox.

Примечание После добавления в Toolbox ActiveX-элемента он будет видим для всех проектов, пока его не удалят.

Чтобы импортировать элемент управления ActiveX:

  1. В Toolbox щелкните вкладку General. (Если Toolbox не отображается, выберите команду Toolbox из меню View.)
  2. Щелкните правой кнопкой мыши Toolbox и выберите команду Customize Toolbox.
  3. В диалоговом окне Customize Toolbox щелкните вкладку ActiveX Controls.
  4. В списке элементов управления ActiveX выберите тот или те, которые хотите импортировать.

    Для данного примера укажите ActiveMovie Control Object.

  5. Щелкните ОК.

Выбранные элементы управления добавятся на Toolbox.

Добавление элемента управления на форму

При добавлении ActiveX-элемента на форму Visual J + + создает один или несколько пакетов в каталоге проекта и добавляет для элемента управления классы-оболочки. Последние используются в Visual J+ + для доступа к классам и компонентам ActiveX-элемента. Если импортированный элемент управления находится в файле, который содержит несколько ActiveX-элементов, то Visual J++ предоставит классы-оболочки для них всех, но добавит в Toolbox только выбранный элемент управления.

Чтобы добавить элемент управления ActiveX на форму:

Установка свойств элемента управления

После добавления на форму ActiveX-элемента задайте его свойства и создайте обработчики событий, используя окно Properties.

Чтобы установить свойства для элемента управления ActiveMovie:

  1. В Forms Designer выберите элемент управления ActiveMovie.
  2. В окне Properties выберите свойство filename.
  3. Введите путь и имя файла .avi, который будет показан в элементе управления.

    - или —

    Щелкните кнопку с многоточием в разделе значений свойства filename, чтобы вывести диалоговое окно для поиска файла на компьютере.

Сборка проекта

После добавления ActiveX-элемента на форму и установки его свойств соберите проект и запустите его для проверки функциональных возможностей.

Чтобы собрать и запустить форму:

  1. В меню Build выберите команду Build.

    Если появятся какие-либо сообщения об ошибках компиляции, исправьте ошибки и заново соберите проект.

  2. Чтобы запустить форму, выберите Start из меню Debug.
  3. Когда форма появится на экране, щелкните кнопку воспроизведения на элементе управления.

Будет показан фильм, заданный в свойстве filename.

к оглавлению   к 4GL - визуальному программированию

Знаете ли Вы, в чем ложность понятия "физический вакуум"?

Физический вакуум - понятие релятивистской квантовой физики, под ним там понимают низшее (основное) энергетическое состояние квантованного поля, обладающее нулевыми импульсом, моментом импульса и другими квантовыми числами. Физическим вакуумом релятивистские теоретики называют полностью лишённое вещества пространство, заполненное неизмеряемым, а значит, лишь воображаемым полем. Такое состояние по мнению релятивистов не является абсолютной пустотой, но пространством, заполненным некими фантомными (виртуальными) частицами. Релятивистская квантовая теория поля утверждает, что, в согласии с принципом неопределённости Гейзенберга, в физическом вакууме постоянно рождаются и исчезают виртуальные, то есть кажущиеся (кому кажущиеся?), частицы: происходят так называемые нулевые колебания полей. Виртуальные частицы физического вакуума, а следовательно, он сам, по определению не имеют системы отсчета, так как в противном случае нарушался бы принцип относительности Эйнштейна, на котором основывается теория относительности (то есть стала бы возможной абсолютная система измерения с отсчетом от частиц физического вакуума, что в свою очередь однозначно опровергло бы принцип относительности, на котором постороена СТО). Таким образом, физический вакуум и его частицы не есть элементы физического мира, но лишь элементы теории относительности, которые существуют не в реальном мире, но лишь в релятивистских формулах, нарушая при этом принцип причинности (возникают и исчезают беспричинно), принцип объективности (виртуальные частицы можно считать в зависимсоти от желания теоретика либо существующими, либо не существующими), принцип фактической измеримости (не наблюдаемы, не имеют своей ИСО).

Когда тот или иной физик использует понятие "физический вакуум", он либо не понимает абсурдности этого термина, либо лукавит, являясь скрытым или явным приверженцем релятивистской идеологии.

Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.

Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование "моря" двух компенсирующих друг друга энергий в вакууме - положительной и отрицательной, а также "моря" компенсирующих друг друга частиц - виртуальных (то есть кажущихся) электронов и позитронов в вакууме.

Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом - присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
 20.10.2019 - 19:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> КОМПЬЮТЕРНО-СЕТЕВАЯ БЕЗОПАСНОСТЬ ДЛЯ ВСЕХ - Карим_Хайдаров.
20.10.2019 - 19:29: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ЗА НАМИ БЛЮДЯТ - Карим_Хайдаров.
19.10.2019 - 18:18: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Марины Мелиховой - Карим_Хайдаров.
18.10.2019 - 14:00: ЭКОЛОГИЯ - Ecology -> Биохимия мозга от проф. С.В. Савельева и не только - Карим_Хайдаров.
18.10.2019 - 07:39: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
18.10.2019 - 07:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вячеслава Осиевского - Карим_Хайдаров.
18.10.2019 - 07:26: ЭКОНОМИКА И ФИНАНСЫ - Economy and Finances -> КОЛЛАПС МИРОВОЙ ФИНАНСОВОЙ СИСТЕМЫ - Карим_Хайдаров.
17.10.2019 - 18:29: ЭКСПЕРИМЕНТАЛЬНАЯ ФИЗИКА - Experimental Physics -> Ядерные эксперименты - Карим_Хайдаров.
17.10.2019 - 06:01: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
16.10.2019 - 19:24: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Ю.Ю. Болдырева - Карим_Хайдаров.
13.10.2019 - 18:09: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Светланы Вислобоковой - Карим_Хайдаров.
13.10.2019 - 08:05: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Декларация Академической Свободы - Карим_Хайдаров.
Bourabai Research Institution home page

Bourabai Research - Технологии XXI века Bourabai Research Institution