Это ещё один новый раздел, который будет состоять из нескольких статей. В нём я расскажу о программировании ActiveX компонентов. Это очень сильная вещь, поэтому я советую тебе обратить на него внимание. Сегодня я научу тебя писать проги, которые можно публиковать на страничках в сети Internet. Эти проги смогут загружаться в окно браузера IE и выполнятся прямо в нём, как это делает Java.
Какие преимущества даёт ActiveX? Он позволяет практически всё. Какие недостатки? Его разрабатывала Microsoft, поэтому там слабая безопасность. Из-за плохой безопасности, ActiveX может таить в себе большие угрозы для пользователя, поэтому большинство из них отключает возможность их загрузки в браузеры. Но если ты будешь разрабатывать приложения для своей корпоративной или другой сети, то преимущества от ActiveX тут будут громадны.
Рис 1. Создание ActiveX
Действие сегодняшнего примера не будет ограничиваться только браузером. Зарегистрировав его в системе, ты сможешь использовать его вставляя в свои проекты на Delphi. Такие ActiveX-формы будут выглядеть как простые компоненты. А главное преимущество, что такие компоненты можно использовать не только в Delphi, но и в Visual Basic и даже Visual C++. Таким образом очень легко объединить труд нескольких программистов пишущих на различных языках. Несколько таких компонент может быть написано на любом языке и собрано в кучу в другом.
Ну хватит хвалить ActiveX, пора переходить к делу.
Для создания нового проекта, ты должен выбрать New из меню File . Перед тобой откроется окно, как на рисунке 1. Выбери закладку ActiveX и дважды щёлкни по ActiveForm.
Рис 2. Свойства нового ActiveX
После этого, перед тобой откроется окно, как на рисунке 2. В этом окне ты должен заполнить:
New ActiveX Name – имя твоего ActiveX. Постарайся дать здесь разумное имя, потому что оно будет потом использоваться для отображения в системе. Не очень приятно будет смотреть на компонент с именем ActiveFormX.
Implementation Unit – имя исполнительного модуля.
Project Name – имя проекта, тоже постарайся дать разумное имя.
Threading Model – для нас достаточно здесь значения по умолчанию.
Make Control Licensed – создать лицензию для компонента.
Include Version Information – включить в компонент информацию о версии.
Include About Box – включить окно «About».
Рис 3. Пример моей формы
Я поменял только имя компонента и проекта. CheckBox-ы оставил без изменений. Жми ОК и перед тобой появится привычная форма. Смело располагай на ней компоненты и работай, как с привычным проектом. Ты можешь засунуть сюда целую программу по учёту заработной платы депутатов. Я не стал сильно извращаться, потому что я делаю простой пример. На рисунке 3 ты можешь увидит моё творение.
После того, как ты установил все компоненты, откомпилируй проект нажав Ctrl+F9. OCX файл готов. Теперь надо зарегистрировать его в системе, чтобы можно было его протестировать. Для этого выбери register ActiveX Server из меню Run .
Рис 4. Настройка публикации
Можно переходить к тестированию. Для этого выбери «Web Deployment Option» из меню “Project”, и перед тобой откроется окно, как на рис. 4.
Рассмотрим каждый параметр в отдельности:
Target Dir - директория, в которую попадёт скомпилированный файл OCX.
Target URL - Адрес в инете, откуда будет загружен OCX, если пользователь открыл страницу через IE-браузер.
HTML Dir - директория, в которую попадёт HTML-файл.
Use CAB compression - упаковать ocx файл в CAB архив.
Рис 5. результат запуска HTML-файла
Рис 6. инсталяция OCX файла
Я советую тебе выбирать «Target Dir» и «HTML Dir» отличную от той в которой лежит твой проект. После того, как ты заполнишь здесь все данные, жми «ОК». Теперь выбираем «Web Deploy» из меню “Project”. Через пару сек всё закончится и ты сможешь запустить созданную Дельфой HTML страницу. Запусти её и посмотри на результат.
Есть ещё один способ протестить твою прогу. Для этого выбери “Import ActiveX Control …» из меню “Component” и ты увидишь окно, как на рис 5. Найди в верхнем списке имя твоего компонента и нажми Install. Delphi установить этот компонент и его иконка появится на закладке ActiveX палитры компонентов. Теперь ты сможешь устанавливать его на любую форму и вообще, использовать как простой компонент.