UNICK-SOFT
Документация по Free ActiveX

Справка по Free ActiveX

Дата создания 10.01.2009

Пример можно скачать здесь

1. ВСТУПЛЕНИЕ

Free ActiveX - это пример создания ActiveX компонента без использования MFC и ATL основанный на Video LAN VLC ActiveX(http://www.videolan.org/) на С++. Free ActiveX распространяется под лицензией GNU General Public License версии. Ознакомиться с текстом лицензии можно в файлах:
/doc/gnu general public license v2.0 - gnu project - free software foundation (fsf).mht
/doc/gpl-2.0.txt
Или по ссылкам:
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Перевод на русских можно прочитать здесь:
http://infolex.narod.ru/gpl_gnu/gplrus.html
http://consumer.nm.ru/gpl_ru.htm

Отрывок перевода:
ОТСУТСТВИЕ ГАРАНТИЙНЫХ ОБЯЗАТЕЛЬСТВ

11. ПОСКОЛЬКУ НАСТОЯЩАЯ ПРОГРАММА РАСПРОСТРАНЯЕТСЯ БЕСПЛАТНО, ГАРАНТИИ НА НЕЕ НЕ ПРЕДОСТАВЛЯЮТСЯ В ТОЙ СТЕПЕНИ, В КАКОЙ ЭТО ДОПУСКАЕТСЯ ПРИМЕНИМЫМ ПРАВОМ. НАСТОЯЩАЯ ПРОГРАММА ПОСТАВЛЯЕТСЯ НА УСЛОВИЯХ "КАК ЕСТЬ". ЕСЛИ ИНОЕ НЕ УКАЗАНО В ПИСЬМЕННОЙ ФОРМЕ, АВТОР И/ИЛИ ИНОЙ ПРАВООБЛАДАТЕЛЬ НЕ ПРИНИМАЕТ НА СЕБЯ НИКАКИХ ГАРАНТИЙНЫХ ОБЯЗАТЕЛЬСТВ, КАК ЯВНО ВЫРАЖЕННЫХ, ТАК И ПОДРАЗУМЕВАЕМЫХ, В ОТНОШЕНИИ ПРОГРАММЫ, В ТОМ ЧИСЛЕ ПОДРАЗУМЕВАЕМУЮ ГАРАНТИЮ ТОВАРНОГО СОСТОЯНИЯ ПРИ ПРОДАЖЕ И ПРИГОДНОСТИ ДЛЯ ИСПОЛЬЗОВАНИЯ В КОНКРЕТНЫХ ЦЕЛЯХ, А ТАКЖЕ ЛЮБЫЕ ИНЫЕ ГАРАНТИИ. ВСЕ РИСКИ, СВЯЗАННЫЕ С КАЧЕСТВОМ И ПРОИЗВОДИТЕЛЬНОСТЬЮ ПРОГРАММЫ, НЕСЕТ ЛИЦЕНЗИАТ. В СЛУЧАЕ ЕСЛИ В ПРОГРАММЕ БУДУТ ОБНАРУЖЕНЫ НЕДОСТАТКИ, ВСЕ РАСХОДЫ, СВЯЗАННЫЕ С ТЕХНИЧЕСКИМ ОБСЛУЖИВАНИЕМ, РЕМОНТОМ ИЛИ ИСПРАВЛЕНИЕМ ПРОГРАММЫ, НЕСЕТ ЛИЦЕНЗИАТ.

12. ЕСЛИ ИНОЕ НЕ ПРЕДУСМОТРЕНО ПРИМЕНЯЕМЫМ ПРАВОМ ИЛИ НЕ СОГЛАСОВАНО СТОРОНАМИ В ДОГОВОРЕ В ПИСЬМЕННОЙ ФОРМЕ, АВТОР И/ИЛИ ИНОЙ ПРАВООБЛАДАТЕЛЬ, КОТОРЫЙ МОДИФИЦИРУЕТ И/ИЛИ РАСПРОСТРАНЯЕТ ПРОГРАММУ НА УСЛОВИЯХ НАСТОЯЩЕЙ ЛИЦЕНЗИИ, НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ПЕРЕД ЛИЦЕНЗИАТОМ ЗА УБЫТКИ, ВКЛЮЧАЯ ОБЩИЕ, РЕАЛЬНЫЕ, ПРЕДВИДИМЫЕ И КОСВЕННЫЕ УБЫТКИ (В ТОМ ЧИСЛЕ УТРАТУ ИЛИ ИСКАЖЕНИЕ ИНФОРМАЦИИ, УБЫТКИ, ПОНЕСЕННЫЕ ЛИЦЕНЗИАТОМ ИЛИ ТРЕТЬИМИ ЛИЦАМИ, НЕВОЗМОЖНОСТЬ РАБОТЫ ПРОГРАММЫ С ЛЮБОЙ ДРУГОЙ ПРОГРАММОЙ И ИНЫЕ УБЫТКИ). АВТОР И/ИЛИ ИНОЙ ПРАВООБЛАДАТЕЛЬ В СООТВЕТСТВИИ С НАСТОЯЩИМ ПУНКТОМ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ДАЖЕ В ТОМ СЛУЧАЕ, ЕСЛИ ОНИ БЫЛИ ПРЕДУПРЕЖДЕНЫ О ВОЗМОЖНОСТИ ВОЗНИКНОВЕНИЯ ТАКИХ УБЫТКОВ.

Стоит отметить, что MFC/ATL необходимо для компилирования примера в конфигурациях Debug/Release. MFC/ATL используются только в файле ресурсов, для более простого создания формы и демонстрации средств взаимодействия ActiveX и приложения. Но при необходимости можно создавать форму вручную, использую CreateWindow и другие. Если у вас возникли проблемы с этим, вы можете связаться с автором. Конфигурации Debug without mfc/Release without mfc не нуждаются в MFC/ATL, но этот при этом отсутствует демонстрация функций взаимодействие.

2. ЗАПУСК И ТЕСТИРОВАНИЕ

Компиляция проекта:

1. Запустить файл Visual Studio 2005 /FreeActiveX/freeactivex.sln. Это проект реализованный на C++.
2. При компиляции в Release будут созданы следующие файлы:
/bin/freeactivex.dll - ActiveX компонент.
/test/freeactivex.cab /bin/freeactivex.cab - ActiveX упакованный в cab файл.
3. При компиляции в Debug будет создан файл:
/FreeActiveX/debug/freeactivex.dll - ActiveX компонент он будет сразу зарегистрирован.
4. При компиляции в режиме Debug without mfc будет создан файл:
/FreeActiveX/debug without mfc/freeactivex.dll - ActiveX компонент он будет сразу зарегистрирован.
5. При компиляции в режиме Release without mfc будут созданы файлы:
/bin/freeactivex.dll - ActiveX компонент.
/test/freeactivex.cab /bin/freeactivex.cab - ActiveX упакованный в cab файл.

Регистрация:

1. При компиляции в Debug файл будет сразу зарегистрирован.
2. При компиляции в Release необходимо набрать следующую команду:

regsvr32 FreeActiveX.dll

Тестирование:

1. С помощью ActiveX Control Test Container.
а) Нажмите кнопку New Control.
б) Из списка выбрать компонент ActiveX Example with out ATL and MFC v2.
2. Запустить файл /test/htmltest.html в Internet Explorer.
а) При этом необходимо в настройках безопасности Internet Explorer выставить возможность запуска ActiveX, неподписанных ActiveX, разрешить JavaScript и установки не подписанных ActiveX.
* Мы рекомендуем вам после тестирования вернуть настройки безопасности обратно.
б) Если ActiveX компонент не был установлен, его можно установить и через браузер.
i) Скопировать директорию test в www директорию веб-сервера.
ii) Запустить файл htmltest.html через веб-сервер (например http://localhost/htmltest.html).
iii) Если компонент не был установлен то Internet Explorer должен предложить его установить. Установка производиться из файла freeactivex.cab.

3. ОБ ИСХОДНОМ КОДЕ:

!---- Важно ----!
Стоит отметить, что MFC/ATL необходимо для компилирования примера в конфигурациях Debug/Release. MFC/ATL используются только в файле ресурсов, для более простого создания формы и демонстрации средств взаимодействия ActiveX и приложения. Но при необходимо можно создавать форму вручную, использую CreateWindow и другие. Если у вас возникли проблемы с этим, вы можете связаться с автором. Конфигурации Debug without mfc/Release without mfc не нуждаются в MFC/ATL, но этот при этом отсутствует демонстрация функций взаимодействие.

Директории:

/bin - содержит бинарные файлы.
/doc - содержит документацию.
/FreeActiveX - содежит проект ActiveX компонента.
/FreeActiveX/FreeActiveX/src/ - исподники ActiveX компонента.
/FreeActiveX/FreeActiveX/src/helpers - вспомогательные классы реализующие необходимые Com Интрейфесы.
/FreeActiveX/FreeActiveX/src/misc - содержит файлы настроек и утилиты.
/FreeActiveX/FreeActiveX/src/plug-in - содержит основные классы плагина и контрола.
/FreeActiveX/FreeActiveX/src/resource - файлы ресурсов.
/test/ - файлы для тестирования компонента.

Файлы:

Здесь представлены основные файлы, на которые следует уделить особое внимание:
/bin/
FreeActiveX.cab - упакованый ActiveX компонент, для установки через браузер Internet Explorer.
FreeActiveX.dll - библиотека с ActiveX компонентом.
FreeActiveX.inf - файл информации для FreeActiveX.cab.
makecab.bat - файл для создания FreeActiveX.cab.
/FreeActiveX/FreeActiveX/src/
activex.def - список экспортируемых функций.
main.cpp - точка входа и экспортируемые функции для регистрации.
/FreeActiveX/FreeActiveX/src/plug-in/
plugin.cpp - класс плагина реализация. Этот класс загружет приложение что бы использовать его.
plugin.h - класс плагина прототип.
vlccontrol2.cpp - класс элемента управления прототип. Этот класс используется внешним приложением для управления ActiveX компонентом.
vlccontrol2.h - класс элемента управления прототип.
/FreeActiveX/FreeActiveX/src/resource/
axexample.idl - файл в котором прописан интерфейс внешних классов, в том числе plugin.h, vlccontrol2.h. По этому файлу внешние приложение знает интерфейс ActiveX компонента.
axexample.tlb - файл автоматически генериться по axexample.idl.
axexample_h.h - файл автоматически генериться по axexample.idl.
axexample_i.c - файл автоматически генериться по axexample.idl.
axexample_rc.rc - файл ресурсов.

!---- Важно ----!
Данный пример не является оптимальным и всеобъемлющем. Вы можете изучить ActiveX компонент VLC.

4. ПОЛЕЗНЫЕ ССЫЛКИ:

http://www.codeproject.com/KB/cpp/ActiveXControlWithoutMFC.aspx - Статья как использовать ActiveX.
http://en.wikipedia.org/wiki/ActiveX - Что такое ActiveX.
http://msdn.microsoft.com/en-us/library/aa751972(VS.85).aspx - вступление об ActiveX с сайта Microsoft.
http://www.worldstart.com/tips/tips.php/3432 - опастности ActiveX.
http://www.videolan.org/ - сайт VLC плеера.
http://www.videolan.org/vlc/download-sources.html - здесь можно скачать исходный код VLC плеера.
Программа была скачена с сайта http://unick-soft.xost.ru

со всеми вопросами обращаться на soft_support@list.ru