Скачать .docx |
Реферат: Компоненты ActiveX 2
Федеральное агентство по образованию
Федеральное государственное образовательное учреждение
высшего профессионального образования
«ПОВОЛЖСКАЯ АКАДЕМИЯ ГОСУДАРСТВЕННОЙ СЛУЖБЫ
имени П.А.СТОЛЫПИНА»
Филиал в г. Ульяновске
КАФЕДРА ГУМАНИТАРНЫХ И ЕСТЕСТВЕННО-НАУЧНЫХ ДИСЦИПЛИН
КУРСОВАЯ РАБОТА
по дисциплине: «Высокоуровневые методы информатики и программирования»
на тему: «Компоненты ActiveX»
Выполнила:
Студентка 1 курса, И-103 группы,
очной формы обучения,
специальности 080801.65,
Алёшина А.О.
Руководитель: доцент, к. пед. н.,
Максимова Э.А.
Ульяновск 2009
Содержание
1. Введение………………………………………………………………….4
1.1. Программные компоненты ActiveX……………………………..5
1.2. ActiveXкомпоненты……………………………………………...7
1.2.1. ActiveXаудио………………………………………………7
1.2.2. ActiveXвидео………………………………………………8
1.2.3. ActiveX интерфейс…………………………………………9
1.2.4. ActiveX сеть……………………………………………......11
1.2.5. ActiveX система…………………………………………...12
1.2.6. Графические движки……………………………………...14
1.2.7. ActiveX прочее…………………………………………….14
1.3. Простота загрузки программных компонентов ActiveX………15
1.4. Макроязыки ActiveX ………………………………………….…15
1.4.1. VisualBasicScripting ……………………………………...16
1.4.2. Edition Java Scripting……………………………………....16
1.5. Документы ActiveX………………………………………………16
1.6. Средства разработки компонентов ActiveX…………………….17
1.6.1. Создание ActiveX-форм…………………………………...18
1.6.2. Добавление внешних свойств в ActiveX-форму....………20
1.6.3. Загрузка компонентов ActiveX……………………………22
1.6.4. Тег <OBJECT> языка HTML.……………………………...23
1.6.4.1. Пример внедрения ActiveX-элемента управления в web-страницу.……………………………………………….24
1.6.4.2. Автоматическое создание web-страниц с внедряемым компонентом.………………………………………………..25
1.7. Поддержка Java.…………………………………………………...26
1.7.1. Программные компоненты (applets) Java.………………...26
1.7.2. Поддержка JavaInternetExplorer....………………………..27
1.8. Поддержка модулей NetscapePlug-in………………………….....28
2. Заключение………………………………………………………………..29
3. Список литературы………………………………………………………31
1. Введение
ActiveX Automation это стандартный метод Microsoft для представления частей приложения и обеспечения доступа для использования другими приложениями. VBA - это скриптовый язык, базирующийся на стандартном Visual BASIC, который Microsoft внедряет в свои приложения. Используя VBA Вы можете настраивать приложение, создавая программы, которые управляют теми частями приложения, которые предоставлены через ActiveX Automation.
AutoCAD поддерживает подобный вид настройки с помощью AutoLISP, но программирование на AutoLISP не всегда просто. Команды загадочные, встроенная отладка ограничена, и всюду круглые скобки.
ActiveX Automation позволяет вам создавать приложения на любом языке который поддерживает интерфейс ActiveX Automation: C++ и Delphi, к примеру, и конечно Visual BASIC. Все это отдельные среды, кторые не интегрированы в AutoCAD. VBA, с другой стороны, встроен в среду AutoCAD, и нет необходимости приобретать дополнителные программные средства.
Другое преимущество для ActiveX Automation и среды VBA - уровень доступной поддержки. Не много программистов знакомы с AutoLISP, а с помощью ActiveX Automation, программирование в AutoCAD доступно для специалистов в Visual BASIC и VBA. Даже лучше, VBA позволяет вам программировать самим и для себя. BASIC был разработан как язык для начинающих, и Visual BASIC продолжает эту традицию. continues that tradition. Если вы изучите несколько простых программных концепций, вы сами сможете настраивать AutoCAD!
VBA также использует любый средства управления ActiveX, которые доступны сегодня. Вы хотели бы добавить датчик продвижения процесса чтобы показать, как быстро выполняется задача? Или возможно вставить мультипликацию чтобы развлечь ваших пользователей, пока они ожидают? С помощью VBA, достаточно расположить упрпавление в вашу программу и установить несколько параметров. А затем вам нужно только сесть, и наблюдать как ваши коллеги восхищаются вашей работой.
Программируете вы в VBA, самом Visual BASIC, или другом языке, ActiveX Automation очень упрощает интегрирование информации в AutoCAD с другими приложениями. Прошло время склеивания AutoLISP-подпрограмм, скриптов AutoCAD, и других специфические подпрограммы, чтобы создать настроенную программу которая охватывает сложные приложения. Теперь одна подпрограмма, использующая ActiveX Automation может управлять множеством приложений и проходом данных среди них.
VBA сильно интегрирован с Windows. VBA имеет полный доступ к фаловой системе Windows, так что Вы можете создавать и удалять файлы и просматривать каталоги. Так же доступен полный интерфейс Windows-программирования, так что ваша программа может быть настолько сложна, на сколько вы хотите.
ActiveX Automation имеет свои пределы - не может вообще взаимодействовать с AutoLISP. Подпрограммы ActiveX Automation не могут вызывать подпрограммы на AutoLISP, так же они не могут устанавливать значения переменных AutoLISP. Так же, среда VBA AutoCAD еще не до конца отлажена.
1.1. Программные компоненты ActiveX
Сегодня существует очень много приложений, которые активно используются в повседневной работе. С помощью технологии ActiveX эти программы могут легко использоваться и в глобальных сетях. При создании технологии ActiveX, специалисты Microsoft переписали OLE таким образом, чтобы эти библиотеки удовлетворяли таким требованиям (важным при работе в Internet), как высокая скорость выполнения и небольшой размер кода. Так же как и OLE, ActiveX базируется на технологии COM (и ее расширении Distributed COM). Таким образом, ActiveX представляет собой ни что иное, как программные библиотеки, полностью совместимые по вызовам (API) с OLE, но оптимизированные для работы в глобальных сетях, поэтому любой ранее написанный программный элемент OLE (OLE Control) будет работать с библиотеками ActiveX.
При использовании новой технологии ActiveX пользователю больше не придется вручную загружать отдельные программы для просмотра страниц, содержащих видео, звук, анимационные эффекты... Они могут быть загружены автоматически с самой страницы, причем будет загружен код, подходящий для конкретной платформы клиента, будь то Macintosh, Windows или Unix. Использую популярные языки программирования: Visual C++, Visual Basic или Java, Web-мастера могут легко создавать программные компоненты и помещать их на свои страницы. Это так же просто, как работать с компонентами в Visual Basic или Microsoft Access. Кроме того, используя макроязыки ActiveX, программисты могут обеспечивать взаимосвязь различных компонент. Несколько примеров: как программные компоненты помогут оживить страницы Web:
· Динамическое обновление страниц в зависимости от действий пользователя, внешних событий или состояния самого Web-сервера. Например, программная компонента "Новости" может применяться для показа информации, актуальной до определенного времени или компонента "Часы" (Timer) может использоваться для синхронизации работы других компонент или для привлечения внимания пользователя после продолжительного периода неактивности.
· Снижение сетевого трафика с помощью графического отображения данных. Например, программная компонента ActiveX Chart (ее можно загрузить с www.microsoft.com/ie), используется для построения графика по числовым значениям. Вместо того, чтобы все время для отображения графиков передавать картинки с помощью тега IMG, можно использовать эту программную компоненту, которая загружается только один раз и сохраняется на локальном диске, а затем запускается каждый раз по мере надобности. Вместо этого, каждый раз при рисовании нового графика по сети передаются только числовые данные, а не сам рисунок, что экономит время.
· Способность отображения текста под любым углом с использованием эффектов анимации. Текст, расположенный по диагонали или вертикально в некоторых случаях может быть более информативным и привлекательным.
1.2. ActiveX компоненты
1.2.1. ActiveX Аудио
· beep - Библиотека, которая умеет обращаться к системному динамику
· xplayer - ActiveX, который с легкостью заменяет mediaplayer.ocx. Проигрывает все основные музыкальные форматы, в том числе mp3. С исходниками
· cdbase - Компонент работает с описанием компакт-диска (исполнитель, альбом, песни)
· dsrepro - Играет MP3-музыку, понимает M3U-листы, немножко тормознее, чем VF MP3 Play, но весит в три раза меньше и оснащен отличным примером. Без визуализации
· 3dsound - OCX, который воспроизводит звук в 3D-пространстве. Использует DirectX
· Easysound - OCX для работы со звуком. Может микшировать большое кол-во звуков, при этом, почти не отнимая системных ресурсов
· vfmp3play - OCX для воспроизведения .mp3 музыки. Есть несколько типов визуализации
· vfwriter - OCX для записи CD треков
1.2.2. ActiveX Видео
· Draw2D V1 0 - Компонент Draw2D V1.0 для работы с графикой. В архиве находится подробный Help по всем функциям этого компонента, а так же примеры
· Savtojpg - Библиотека, сохраняющая картинки в формат JPEG, автор: Evgeny_k
· Ddesk - Компонент умеет рисовать в себе рабочий стол Windows
· Video - Узнает системное разрешение и глубину цвета в Windows
· Animgif - Компонент для воспроизведения GIF-анимаций, с исходниками. Конечно немножко слабоват (слегка мерцает), но на то и исходники, чтобы их править
· gif89 - Бесплатный контрол для GIF анимаций
· graphctl - Компонент для создания трёхмерных кнопок, линий и toolbar'ов
· graphic - Компонент для быстрого воспроизведения анимаций (без мерцания), имеет встроенную справочную систему. Единственный минус - для показа анимации надо преобразовать BMP файл в два отдельных - SPR (sprite) и MSK (маска прозрачности). Таким образом, Вы теряете время и увеличиваете размер Вашего конечного продукта, но в целом – ничего
· led101 - Маленький симпатичный экранчик, который вы можете вставить в вашу программу
· pnttool - Данный класс является несколько расширенной командой PaintPicture : он рисует с прозрачным фоном, т.е. если вы накладываете на планету картинку корабля, то он не будет просто квадратом, а примет форму корабля
· transimg - Данный ActiveX компонент позволяет вам двигать/анимировать картинку без всякого мерцания, даже на слабых машинах. Прилагается пример. Также OCX может поворачивать картинку по вертикали/горизонтали, затемнять картинку
· newstick6 - Достаёт информацию из интернета(газету) и отображает её Вам
· draw3d - Программа для работы с объемной графикой. Что-то похожее на 3D Studio MAX. В архиве есть и исходники и примеры объектов
· DXObjects - Компонент для работы с DirectX
1.2.3. ActiveX Интерфейс
· SolamonControls - Набор универсальных контролов
· TreeCombo - Выпадающий список с дверовидной структурой
· RandomForms - Придайте форме или контролу ЛЮБУЮ форму. За основу берётся картинка BMP(24bit). Форму формы можно менять на ходу, по ходу выполнения программы. Всё делается с помощью регионов. В архиве есть утилитка для преобразования BMP в файл региона
· PercentBar - Прогресс бар с процентами
· RunningString - Бегущая строка, смещается не по буквам, а по пикселям
· Button - Синяя кнопка
· AquaMenu - Контрол AquaMenu.ocx предназначен для использования вместе с окнами, где уже созданы меню с помощью встроенных редакторов меню (C++,C#,VB,VB.NET и др.)
· SliderXP - Контрол Slider XP в стиле Offce XP (с примером)
· GradButton - Кнопка с градиентной заливкой
· axProgressBar - Симпатичный ProgressBar. Очередной
· WeToolMenuBar - Многофункциональный контрол позволяющий создавать интерфейсы (Toolbar и Menu) как в Office и произвольного пользовательского вида. Очень рекомендуем
· ArtMenu - Художественное меню - контрол для создания очень привлекательных менюшек
· Axbutton - Замена всем стандартным кнопочкам и тулбарам. С исходниками
· XPSideMenu - Раскрывающийся список в стиле проводника XP
· PButton - Раскрывающийся список в стиле XP. Очень красиво
· Calendar2 - Календарь 2. Полностью готовый контрол. Приятный вид
· XP_Scroll - Вертикальная полоса прокрутки в стиле XP
· TreeView - Крутой TreeView
· CoolBar - Обалденный ToolBar
· ISPPanel - Контейнер с прокруткой, в который можно помещать объекты
· PropTable - Таблица свойств объекта, как в VB
· TitleProgress - Прогресс бар в заголовке окна
· CBar - Круговой ProgressBar
· Clock - Клёвые часы с разными стилями и таймером
· Calendar - Календарь с разными стилями и возможностью выбора нескольких дат одного месяца
· XPStyleButtons - Кнопка и опция в стиле XP
· AxButtons - Кнопка с офигенными наворотами
· AllButtons - Кнопки в стиле разных OS
· BarScroll - Скрол для панели инструментов
· TransButton - Обыкновенная, но прозрачная кнопка
· CoolButton - Круглая/закруглённая/треугольная/овальная кнопка
· BrowseFolder - Диалог выбора каталога с наворотами
· GradButton - Кнопка с градиентной заливкой
· OCXButton - Кнопка с наворотами
· Diagram – Диаграмма
· ProgressBar - Офигенный прогресс бар
· ToolBar - Офигенный ToolBar
· CommonDialog - Замена стандартному CommonDialog'у
· MIDIContainer - Контейнер для размещения форм внутри MDI формы
· IPField - Поле ввода IP адреса
· StatusBar - Замена стандартному StatusBar контролу
· OutlookMenu - Меню, разделённое по вкладкам, как в Outlook
1.2.4. ActiveX Сеть
· TServ(er) - небольшой контрол, являюшийся звеном между WSoket и конечным результатом. Фактически простой движок для серверов на VB.
· Ircp - Небольшая библиотека для разработки IRC клиентов и ботов (протокол rfc1459). На каждое событие в IRC - своё внутреннее событие с нужными параметрами
· Dialer - Отличная реализация звонилки на Visual Basic
· zcs10 - Компонент реализует клиент-серверную коммуникацию с использованием Winsock
· jmail - ActiveX-компонент для отправки сообщения на E-Mail. Новая версия представляет собой ActiveX DLL. Доступна для использования как с ASP, так и с VB
· lyric - Этот компонент подсоединяется к специальному lyric-серверу и запрашивает текст интересующей Вас песни
· dhtmled - Компонент от Microsoft для редактирования DHTML(в IE-исполнении)
· ftpclient - FTP-клиент. Хороший функционал, малый размер
· onoffline - Определяет подключен ли пользователь к Интернету или нет
· webcolor - Конвертирует web цвет(который вы используете в HTML-тегах) в RGB и обратно
· webvrchk6 - Проверяет дату обновления тех или иных страниц Интернета
1.2.5. ActiveX Система
· ActionFF - Предоставляет информацию о файле, каталоге и действие над ними: размер, тип, атрибут, доступ, возраст, копировать, удалять, перенос и т.д., файла и каталога
· APIExpress - Разрешение экрана, имя компьютера, путь до системной папки, возможно ли воспроизводить звук, имя пользователя, определение дисков и многое другое
· ORSTKernel_v3 - [Updated] Эта библиотека работает на нулевом уровне (уровне ядра win32). Есть функции скрытия,остановки,снятия (методом отладки) процесса и т.д
· JSecurity System - Компонент работает в среде Visual Basic. Его задача - обеспечение безопасности при входе в Вашу программу. Собственно говоря это пароль, который необходимо знать, что бы получить доступ. Преимущество программы в том, что подобрать пароль программным методом практически невозможно
· SystemManagerOCX - Компонент работает в среде Visual Basic. Его задача - организовать удобную работу с файловой системой Windows 9x/Me, которая до этого была весьма рутинной
· AllCompControl - Данный контрол имеет множество функций, которые поддерживает Windows XP
· SuperPicture - ActiveX Control SuperPicture призван расширить набор функций, реализованных в стандартном PictureBox, до уровня стандартного графического редактора
· Console - Библиотека для создания консолей на Visual Basic. Работает достаточно хорошо: поддерживает ввод и вывод, разные цвета для вывода. Использует cmd.exe (для WinNT\2000) или command.com (для Win9x)
· Acl - Библиотека для работы с базами данных Clarion
· Renamew - Компонент, который переименовывает заголовок окна у любого приложения
· Dbtohtml - Экспортирует данные из SQL - запроса в HTML - файл. DLL написана на Visual Basic 6 (SP3). Новые возможности:
1) Возможно применение HTML-шаблонов,
2) Появилось несколько вариантов форматирования таблицы,
3) Возможно разбиение результата запроса на страницы
· Fileview - Навигация по винчестеру или локальной сети в одном ActiveX
· SysMon - График системных ресурсов
1.2.6. Графические движки
· Age - Arcade Game Engine облегчитсоздание 2D-аркадна Visual Basic
· Prometheus - DOOM'оподобный" движок. Есть настройки гамма-коррекции, выбора текстур и т.д. Также в заголовке окна показыается текущий fps /кадры в секунду/
· Asprite - Данный OCX контрол работает с DirectX версии 5 или старше. Полезен для создания 2D аркад или RPG-игр. Не требует никаких дополнительных библиотек (кроме DirectX, конечно же). Имеет хорошую справочную систему
· Maze - OCX для создания лабиринтов. Полезен при создании игрушек, прост в использовании
· Renderax - По сути этот OCX является готовым 3D-engine, т.е. если вы пишите 3D-action - эта вещь сильно облегчит вам жизнь
· a6dx - Работается с использованием Direct3D в Visual Basic/Visual C++. Использует файлы от Quake (*.lmp , *.bsp, *.mdl ... )
1.2.7. ActiveX Прочее
· DigitToABC - ActiveX dll для перевода суммы в числовом формате в сумму денег прописью. Поддерживает русский и украинский языки
· GraphField - Контрол для построения графиков
· ImageList - Замена стандартному ImageList контролу
1.3. Простота загрузки программных компонентов ActiveX
При просмотре страниц со ссылками на программные элементы ActiveX, эти элементы устанавливаются автоматически без какого-либо вмешательства пользователя. В отличие от компонент plug-in, введенных Netscape, не нужно отдельно запускать программу установки этого программного компонента, а затем перезапускать программу просмотра.
Кроме того, применяя программные компоненты ActiveX с цифровой подписью, можно быть уверенным, что данный код не был изменен в процессе передачи по Internet. Если программный элемент еще не установлена на компьютере, Microsoft Explorer 3.0 проверит цифровую подпись, которая передается вместе с кодом.
1.4. Макроязыки ActiveX
Поскольку Microsoft Internet Explorer 3.0 поддерживает Visual Basic(r) Script и JScript, эта программа просмотра предлагает уникальные возможности по управлению содержимым Web-сервера с помощью макроязыков. Используя макроязыки, можно создавать страницы, на которых пользователю будут задаваться вопросы, проверяться введенные пользователем данные, т.е. страницы, активно взаимодействующие с пользователем.
С помощью макроязыков можно создавать страницы, на которых будет осуществляться взаимодействие программных компонентов ActiveX, Java, других программ на клиентском компьютере, различных частей самого Internet Explorer, например, взаимодействие документа HTML с панелью управления или меню. Кроме того, можно написать свой макроязык и добавить его интерпретатор в Internet Explorer с помощью динамически загружаемой библиотеки DLL
1.4.1. Visual Basic Scripting Edition
VB Script является подмножеством языка Visual Basic и предназначен для программирования страниц Web. С его помощью можно заставить взаимодействовать разные объекты на странице, в том числе программные компоненты. Этотязыкполностьюсовместимс Visual Basic и Visual Basic for Applications. Microsoft откроет VBScript для бесплатного лицензирования третьим компаниям, производящим программы просмотра ресурсов Internet. С помощью VBScript, программисты могут отслеживать события, получаемые от программных компонентов ActiveX, активизировать методы и изменять свойства компонентов ActiveX.
Код, написанный на VBScript легко изменять, поскольку он находится на самой странице. Выполняться он может на всех платформах, где есть или будут интерпретаторы этого языка.
1.4.2. Java Scripting
JScript обеспечивает такую же функциональность, как и VBScript. Реализация Microsoft этого языка позволяет связывать и синхронизировать объекты на странице, включая программные компоненты ActiveX и Java, создавать страницы, способные реагировать на действия пользователей.
1.5. Документы ActiveX
ActiveX Documents позволяет открыть окно другого приложения внутри Internet Explorer. Это означает, что с помощью Internet Explorer можно открывать и работать, например, с таблицами Microsoft Excel, после чего можно вернуться на Web-страницу, с которой была ссылка на эту таблицу.
Как и все спецификации ActiveX, ActiveX Documents являются открытой спецификацией, доступной для всех. Поддержка проводником Internet спецификаций ActiveX Documents позволяет ей стать программой-оболочкой, способной показывать не только страницы Web, но и любые документы. Это очень ценное свойство для применения в интрасетях, поскольку все сотрудники организации могут использовать одну программу для работы с разнородными документами, тогда как сетевые администраторы могут связывать обычные офисные документы с помощью страниц HTML, сами же эти документы будут оставаться в форматах тех приложений, которые использовались для их создания.
Internet Explorer может служить не только не только клиентом ActiveX Document, но быть и сервером ActiveX Document. Это означает, что любое приложение может использовать Internet Explorer для просмотра файлов формата HTML.
Спецификация ActiveX Documents - дополнение к спецификации OLE Documents, технологии составного документа OLE. Также как и активные документы OLE, приложения, поддерживающие ActiveX Documents, могут работать как контейнеры (клиенты), обеспечивающие показ документов ActiveX, или как серверы так, что любая другая программа может их использовать для своей работы.
1.6. Средства разработки компонентов ActiveX
Программисты могут создавать компоненты ActiveX, используя любой язык программирования, включая давно знакомые Visual Basic, Visual C++, или новые средства программирования, такие как Java.
С помощью Visual Basic 5.0, программисты смогут писать компоненты ActiveX и конвертировать существующий код в VB Script простой манипуляцией мышью. Все макросы, которые использовались в приложениях Microsoft Office, могут быть легко перенесены на страницы Web. Если программист использует новый язык Visual J++, он увидит снова знакомый интерфейс Microsoft Developer's Studio-привычный отладчик и редактор - и сможет создавать машинно-независимые программные компоненты Java, способные выполняться в Internet Explorer 3.0.
Если пользователь хочет быстро с нуля разрабатывать компоненты ActiveX, он может использовать Microsoft ActiveX Development Kit (MADK). Он включает в себя все средства и информацию, необходимые для этого.
Web-мастера могут управлять своими серверами с помощью Microsoft FrontPage. Этот продукт распространяется с большим количеством мастеров (wizards), позволяющих быстро создавать страницы с таблицами, фреймами и другими интересными элементами оформления, включая программные элементы ActiveX.
1.6.1. Создание ActiveX-форм
По сути, Delphi предоставляет возможность для построения приложений, внедряемых в Web-страницы. Для того чтобы создать ActiveX-приложение, нужно выбрать следующую последовательность меню: File | New | ActiveX | ActiveX Form.
В появившемся диалоговом окне (рис. 12.1) в поле New ActiveX Name следует вписать имя создаваемого приложения. Названия файла проекта и пока единственного модуля формы изменяются автоматически в соответствии с вводимым именем проекта, но могут быть произвольными. Позже, при сохранении файлов проекта на диске, их имена и расположение можно будет менять.
Выпадающее меню с названием Threading Model содержит пункты, устанавливающие режим работы с потоками создаваемого элемента управления. Дело в том, что спецификация ActiveX разрешает одновременное использование серверов автоматизации в нескольких режимах:
· Single — создает очередь при попытке параллельного использования одного элемента управления
Рис. 1. Диалоговое окно выбора параметров создаваемого ActiveX-приложения
· partment — динамически рождает новый экземпляр сервера в памяти, и работа с каждым из них ведется независимо.
· Free — реализует многопоточный режим работы с компонентом. При этом единственный экземпляр последнего обеспечивает реализацию всех запросов. Данный тип характеризуется достаточно сложной реализацией в связи с необходимостью контроля за целостностью данных, но экономит ресурсы компьютера.
· Both — обеспечивает работу клиентов, рассчитанных на взаимодействие по любому из двух предыдущих принципов
Опция Make Control Licensed позволяет включить режим зашиты элемента управления ActiveX от нелегального использования путем добавления в дистрибутив элемента специального лицензионного файла. Опция Include Version Information определяет возможность идентификации версии создаваемого элемента управления. При включении этой опции компилятор каждую новую версию ActiveX-формы помечает новым номером, что особенно удобно при отладке, поскольку обращение к новой версии элемента управления исключает использование старой.
Опция Include About Box предоставляет возможность создания вместе с основной формой Web-приложения маленькую форму с указанием короткой сопроводительной информации.
После того как установлены необходимые опции и введено название проекта, можно нажимать кнопку ОК.
При создании элементов управления открывается рабочая среда, несколько отличная от той, которая активизируется при написании обычного приложения.
Прежде всего, вместо обычного проекта создается библиотека, как при написании DLL-модуля. Кроме того, создаваемая форма уже принадлежит не к классу TForm, а к классу TActiveFormx. В программном модуле уже описаны процедуры и функции, обеспечивающие установку и извлечение свойств формы.
1.6.2. Добавление внешних свойств в ActiveX-форму
При разработке элементов управления реализуются достаточно сложные механизмы создания абстрактных интерфейсов и наследования. Разработчики среды Delphi избавили программистов от необходимости самостоятельно проектировать интерфейсы к создаваемым СОМ-серверам. Если вы хотите что-либо откорректировать в вами же предложенном варианте, то это можно сделать вручную, на базе уже сгенерированного кода.
Доступ к переменным, которые используются в программе, может быть осуществлен только в том случае, если они объявлены свойствами класса, представляющего ActiveX-форму, а именно — ActiveFormX.
Для добавления переменной нужно выполнить следующую последовательность шагов, вызывая соответствующие пункты меню: Edit | Add to Interface. При этом на экране появится окно, приведенное на рис. 2
Рис. 2. Меню добавления свойств, методов, событий
Это меню позволяет добавить описание нового свойства (равносильно, как и метода или события) сначала в класс, являющийся интерфейсом класса формы (его наличие вызвано особенностью реализации СОМ-объектов), а затем в сам класс формы. При этом создается шаблон процедуры, которая позволяет выполнить какие-либо действия при установке этого свойства и функции, которая должна возвращать значение данного свойства. Эти два метода выполняют задачи, аналогичные возникающим при описании свойств классов языка Object Pascal. Для добавления свойства его нужно описать аналогично предварительной декларации при описании классов. Например, property Myinfo: byte. При нажатии кнопки ОК интерфейс и реализация создаваемого объекта обновятся, в соответствии с внесенными изменениями.
Обратите внимание, что типы данных, используемые при описании свойств, не полностью совпадают с типами Object Pascal, и их перечень ограничен для совместимости с другими средствами разработки и типами, используемыми в Windows.
В табл. 1 приведем наиболее используемые типы данных.
Таблица 1. Некоторые типы данных, используемые при обмене информацией между сервером автоматизации и клиентом
Тип данных | Описание |
Byte | Аналогичен типу Byte из ObjectPascal |
Currency | Аналогичен типу Currency Object Pascal |
Double | Аналогичен типу Double Object Pascal |
WideString | Аналогичен типу WideString WideString из Object Pascal |
При работе с внешними переменными нельзя использовать тип string. Вместо него, как видно из таблицы, можно применить нуль-терминованные строки WideString.
1.6.3. Загрузка компонентов ActiveX
Когда пользователь загружает Web-страницу, на которой есть ссылка на элемент управления ActiveX, браузер проверяет настройки безопасности компьютера, и, если они позволяют, посылает на сервер запрос на передачу двоичного кода скомпилированного компонента. Сервер, получив запрос, проверяет, доступен ли запрашиваемый файл, и если он доступен, то передает его клиенту. После получения кода компонента он должен быть зарегистрирован в системе (реестре). Об этом, опять-таки исходя из настроек безопасности, выдается предупреждение клиенту, с указанием информации о наличии цифровой подписи, и при существовании последней, информация о производителе загруженного элемента управления. Если пользователь разрешит, то элемент управления регистрируется и запускается на выполнение. При этом, как правило, его окно отображается в заранее определенной области Web-страницы. Кроме того, браузер передает ему параметры, которые могли быть указаны на Web-странице, в которую внедрен элемент управления ActiveX. Благодаря наличию такой возможности, серверу достаточно динамически формировать HTML-код, с указанием значений используемых параметров, чтобы заставить динамически работать элемент управления ActiveX. Процесс внедрения ActiveX-компонента осуществляется с использованием элемента OBJECT языка HTML, которому соответствует тег <OBJECT>, атрибуты которого описаны в следующем разделе.
1.6.4. Тег <OBJECT>языка HTML
Для того чтобы внедрить в документ HTML различные ActiveX-объекты или Java-апплеты, используется тег <OBJECT>.
Он имеет следующие основные атрибуты:
· classid — содержит уникальный 128-битный идентификатор, под которым элемент управления регистрируется в системе.
· codebase — указывает URL, где расположен компонент.
· standby — может применяться для задания текста, который будет отображаться во время загрузки компонента.
· Height — содержит высоту области, отводимой под элемент управления.
· width — содержит ширину области, отводимой под элемент управления.
· Name — применяется в контексте форм, если элемент управления служит для приема клиентских сведений с целью их последующей отправки на сервер.
К этим атрибутам, характеризующим базовые сведения об объекте, добавляются параметры, которые автоматически передаются браузером объекту для использования.
Для этого применяется элемент PARAM, имеющий основные атрибуты:
· Name — содержит название переменной, значение которой должно быть установлено.
· Value — устанавливаемое значение переменной.
В отличие от элемента OBJECT, где наличие конечного тега обязательно, использование последнего в элементе PARAM запрещено. Пример внедрения элемента управления ActiveX в Web-страницу приведен в листинге 1.
1.6.4.1. Листинг 1. Пример внедрения ActiveX-элемента управления в Web-страницу:
<HTML>
<Н1> Пример внедрения ActiveX-формы в Web-страницу</Н1>
<p><OBJECT
classid="clsid:C9F21C24-DA34-4D93-93CD-75F5BOD2AD68" codebase="http://localhost/ax/axProjl.cab#version=l,0,2,0"
width=429
height=275
align=center
hspace=0
vspace=0>
<PARAM NAME="MyParametr" VALUE="DynamValue">
</OBJECT>
</HTML>
Устанавливая значения параметров динамически, с помощью CGI-техно-логий, можно добиться интерактивной работы таких форм не только в контексте настольного приложения, но и в режиме клиент-серверного взаимодействия.
1.6.4.2. Автоматическое создание Web-страниц с внедряемыми компонентами
Для облегчения процесса внедрения ActiveX-элементов управления в Web-страницы, в Delphi предусмотрена возможность для автоматической генерации HTML-файлов, содержащих внедряемые компоненты. Благодаря этому, при отладке работы элементов управления теряется необходимость в ручном редактировании HTML-документов, и программист всегда имеет под рукой готовый пример внедрения. Поэтому все, что остается ему сделать, — это перенести фрагмент сгенерированного кода, описывающего элемент OBJECT, в создаваемую Web-страницу.
Прежде чем генерировать Web-страницу, следует заполнить несколько следующих опций, открывающихся при выборе пунктов меню Project | Web Deployment Options...
· arget Dir. Определяет местонахождение конечного каталога для создаваемого компонента.
· Target URL. Содержит адрес сервера и название каталога, в котором будет находиться файл компонента, т. е. адрес, откуда будет скачан файл компонента. Это значение используется для заполнения атрибута codebase элемента OBJECT Web-страницы.
· HTML Dir. Как следует из названия, здесь указывает каталог для получившегося файла HTML.
· Use CAB file compression. Включаетрежимсжатияфайлов. Поскольку браузеры, устанавливающие компоненты, имеют встроенную поддержку CAB (сокращение от англ, cabinet) компрессии, рекомендуется всегда включать данную опцию, т. к. это позволяет существенно снизить трафик.
· Include file version number. Эта опция внедряет описание версии в файл компонента.
· Auto increment release number. Посредством данной опции, при каждой компиляции компонента, его номер версии увеличивается на единицу, а создаваемая Web-страница запрашивает обновленную версию файла. Обратите внимание, что указание параметров Target Dir и HTML Dir на работе компонентов никак не сказывается. Эти значения необходимы только для того, чтобы компилятор знал, куда нужно поместить выходные файлы. Если разработка элементов управления ведется на локальном компьютере, то при инсталляции на сервере данного компонента его нужно просто переписать в каталог, открытый на чтение для клиентов, и внести коррективы, соответствующие конечному URL компонента, в HTML-файл.
1.7. Поддержка Java
Internet Explorer является открытой платформой, построенной согласно стандартам Internet. Эта платформа позволяет Web-мастерам создавать, а пользователям - смотреть информацию, оформленную с помощью всего самого нового, что появляется в технологиях. Начиная со 2 беты, Internet Explorer включает в себя самую быструю реализацию Java.
1.7.1. Программные компоненты (applets) Java
Microsoft Explorer 3.0 позволяет элементам Java использовать все преимущества ActiveX, более того они могут быть сами элементами ActiveX. Фактически, язык Java - один из самых подходящих для создания элементов ActiveX. В Microsoft Internet Explorer 3.0 встроенсамыйбыстрыйкомпилятор Java Just-in-Time (JIT).
Крометого, Microsoft Internet Explorer 3.0 позволяетиспользоватьязыкисценариев, включаясценарии VBScript или JScript, чтобысвязыватьпрограммы Java сдругимиэлементами ActiveX.
Справочник Java, поставляемый вместе с Visual J++ содержит описания того, как вызывать функции из программ Java c помощью вызовов из программных компонентов ActiveX, написанных на других языках (Visual Basic, Visual C++). Кроме того, Java - идеальное средство для написания программных компонентов ActiveX и других компонент COM.
1.7.2. Поддержка Java Internet Explorer
В отношении Java Internet Explorer реализует в себе следующее:
· Отрабатывает программы Java
· Обеспечивает работу виртуальной машины Sun Microsystems в среде Win32.
· Позволяет Web-мастерам связывать программы Java друг с другом, либо с компонентами ActiveX, используя любой язык сценариев.
· Обеспечивает встроенную безопасность Java (включая стандартные схемы безопасности и цифровую подпись).
Быстрая компиляция программ Java при их выполнении. Компилятор JIT Microsoft iaaniaчeaaao naiia быстрое выполнение программ Java, это видно из нижеследующей схемы сравнения скорости выполнения программ Java Internet Explorer 3 и Netscape Navigator 3.0 (Beta 5).
Microsoft Performance Test (более высокие оценки - быстрее) | Netscape Navigator 3.0 Beta 5 | Internet Explorer 3.0 | |
Sieve | 4263 | 4665 | |
Loop | 7654 | 8112 | |
Logic | 2108 | 2181 | |
String | 36 | 132 | |
Float | 1228 | 2661 | |
Method | 2305 | 2903 | |
Image | 26 | 137 | |
Graphics | 61 | 47 | |
Dialog | 171 | 31 | |
Общая оценка | 1383 | 1705 |
Эта таблица показывает, что компилятор JIT, встроенный в Internet Explorer 3.0 на 18% - 21% быстрее, чем Netscape Navigator 3.0 (Beta 5).
Независимые компании также выполняли похожие тесты, результат был таким же. Например, тесты производительности Microbenchmark и Linpack показали, что компилятор Microsoft быстрее, чем у Netscape. В их тестах, Internet Explorer быстрее при доступе к переменным, немного медленнее на простых математических операциях и намного быстрее при создании объектов и при синхронизации их поведения.
1.8. Поддержка модулей Netscape Plug-in
Чтобы удовлетворить максимальное количество пользователей, Microsoft Internet Explorer 3.0 совместим с технологией Netscape Plug-in и может выполнять модули, на которые ссылается тег <EMBED> точно так же, как и программные компоненты ActiveX . Эта поддержка означает совместимость с существующими страницами Web, таким образом, Web-мастера могут в дальнейшем ориентироваться на технологию ActiveX, при этом не переделывая уже существующие страницы. Когда пользователь открывает страницу со ссылкой на plug-in, Internet Explorer проверяет, установлен ли он. Если нет, автоматически загружается страница, откуда он может загрузить соответствующий Plug-in или аналогичную по функциональности программную компоненту ActiveX.
2. Заключение
Процесс разработки ActiveX Controls на Visual Basic также прост, как и всё на Visual Basic. Большое количество средств автоматизации разработки (Wizards), удобный пользовательский интерфейс, средства отладки и хорошая справочная система позволяют быстро разрабатывать компоненты, обладающие широкими возможностями и готовые для построения Internet-решений.
Технология ActiveX заслуживает пристального внимания, но ей еще предстоит трудная борьба за Web. Средства для ее использования имеются пока только в браузере InternetExplorer, который, в свою очередь, ограничивается лишь средой Windows - по крайней мере на текущий момент. (По словам представителей Microsoft, в будущем технология ActiveX будет подготовлена и для платформ Macintosh и UNIX.) Средства для работы с управляющими элементами ActiveX, может быть, найдут пристанище и в браузерах других поставщиков, однако, как сообщили в Netscape, браузер Navigator останется в стороне от этой технологии. И пока за ним будет сохраняться львиная доля рынка браузеров, рассчитывать на применение технологии ActiveX в общедоступных узлах Internet не приходится.
Однако мы упустили из виду сферу частных интрасетей, и именно на этом поприще влияние ActiveX может оказаться значительным уже сейчас. В настоящее врем ActiveX и VBScript более всего приспособлены для модернизации клиентской части используемых в этих сетях программ, нечто подобное делается и с помощью языка Java. Однако, если инструменты и библиотеки Java еще только начинают появляться, на рынке ActiveX уже сейчас представлен богатый арсенал управляющих элементов от различных фирм. Задача создания средствами Java страницы Web, оснащенной механизмом построения полнофункциональной диаграммы или таблицы данных, потребовала бы немыслимых усилий разработчика. А аналогичная задача средствами ActiveX решается достаточно просто.
Совершенно очевидно, что в Microsoft немало заботятся о продвижении стандарта ActiveX на рынок, причем до такой степени, что даже бесплатно предлагают всем желающим свой браузер, описание языка, инструментальные средства и подготовленные наборы управляющих элементов. Если вы планируете разработку прикладной программы для интрасети с расширенными возможностями ее клиентской части - эта технологи будет вам полезна.
Список используемой литературы
1. Боб Ресельман, Ричард Писли, Вайн Пручняк, Эрик Смит. Использование Visual Basic 6 / Пер. с англ. — К.;М.; СПб.; Издательский дом "Вильямс", 2005 — 608 с.: ил., ISBN 5-8275-0035-6 (рус.)
2. Брюс Мак-Кинни. Крепкий орешек Visual Basic /Пер. с англ. — М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd." 2004. - 2-е изд., испр. и доп. - 632 стр.: ил., компакт-диск, ISBN 5-7502-0074-1
3. ДанЭпплман. Win32 API и Visual Basic. Для профессионалов. / Пер. с англ. — СПб.: "Питер", 2005. — 1120 с., компакт-диск.
4. Джеффри П.Мак-Манус. Обработка баз данных на Visual Basic 6 / Пер. с англ. — К.;М.; СПб.; Издательский дом "Вильямс", 2004 — 672 с.: ил., компакт-диск, ISBN 5-8459-0002-6 (рус.)
5. Дж.Крейг, Дж.Уэбб. Microsoft Visual Basic 6. Мастерская разработчика /Пер. с англ. — М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd." 2004. - 5-е изд., испр. и доп. - 648 с.: ил., компакт-диск, ISBN 5-7502-0127-9
6. М.МакКелви, Р.Мартинсон, Дж.Веб, Б.Ризельман. Visual Basic 5. Серия "МАСТЕР" /Пер. с англ. Using Visual Basic 5, Special Edition QUE, 2004 — С-Пб.: "BHV — Санкт-Петербург", 2004. — 976 с.: ил., компакт-диск, тираж 7+3 тыс. экз. ISBN 5-7791-0070-5
7. С.Браун. Visual Basic 6: учебный курс /Пер. с англ. — С-Пб.: "Питер", 2005. — 576 с., ISBN 5-8046-0054-0
8. С.Хиллер.Microsoft Visual Basic, Scripting Edition в действии /Пер. с англ. — С-Пб.: "Питер", 2005., компакт-диск, ISBN 5-88782-263-5
9. С.Джэрол. Секреты разработки Web-приложений на Visual Basic 5 /Пер. с англ. — С-Пб.: "Питер", 2004. — 576 с., компакт-диск, ISBN 5-88782-399-2
10. Чепмен Д. Разработка защищенных приложений в среде Visual Basic / Пер. с англ. — М.: Издательский дом "Вильямс", 2005 — 480 с.:
11. Visual Basic 6.0. Серия "МАСТЕР" /Пер. с англ. Microsoft Visual Basic 6.0 Programmer's Guide, Microsoft Press, 2004 — С-Пб.: "BHV — Санкт-Петербург", 2004. — 992 с.: ил., тираж 3+3+5 тыс. экз. ISBN 5-8206-0019-3
12. Программные элементы ActiveX / {Электронный ресурс}/ режим доступа:/http://www.cetis-media.ru/library/activex/1.html
13. Основы технологии ActiveX / {Электронный ресурс}/ режим доступа:/http://www.leaderit.ru/books/Internet%20Development/gl12/gl12.html
14. Вся техническая документация/ {Электронный ресурс}/ режим доступа:/http://www.emanual.ru/show/55/
15. VBStreets/ {Электронный ресурс}/ режим доступа:/ http://www.vbstreets.ru/ActiveX/default.aspx
16. Познавательная википедия / {Электронный ресурс}/ режим доступа:/ http://daz.su/nash-otvet/kompjuter/2/index.aspx
17. AutoCAD.ru / {Электронный ресурс}/ режим доступа:/ http://www.autocads.ru/programm/prog_3.php
18. ActiveX по шагам / {Электронный ресурс}/ режим доступа:/ http://www.firststeps.ru/mfc/activex/activex3.html
19. Oxegen Group / {Электронный ресурс}/ режим доступа:/ http://oxegengroup.ucoz.ru/publ/3-1-0-15