Компоненты ActiveX

Автор работы: Пользователь скрыл имя, 05 Декабря 2009 в 15:49, Не определен

Описание работы

Контрольная работа

Файлы: 1 файл

Содержание.doc

— 294.00 Кб (Скачать файл)

При разработке элементов управления реализуются  достаточно сложные механизмы создания абстрактных интерфейсов и наследования. Разработчики среды Delphi избавили программистов от необходимости самостоятельно проектировать интерфейсы к создаваемым СОМ-серверам. Если вы хотите что-либо откорректировать в вами же предложенном варианте, то это можно сделать вручную, на базе уже сгенерированного кода.  

Доступ  к переменным, которые используются в программе, может быть осуществлен  только в том случае, если они  объявлены свойствами класса, представляющего ActiveX-форму, а именно — ActiveFormX.

Для добавления переменной нужно выполнить следующую  последовательность шагов, вызывая  соответствующие пункты меню: Edit | Add to Interface. При этом на экране появится окно, приведенное на рис. 2

Рис. 2. Меню добавления свойств, методов, событий 

Это меню позволяет добавить описание нового свойства (равносильно, как и метода или события) сначала в класс, являющийся интерфейсом класса формы (его наличие вызвано особенностью реализации СОМ-объектов), а затем  в сам класс формы. При этом создается шаблон процедуры, которая позволяет выполнить какие-либо действия при установке этого свойства и функции, которая должна возвращать значение данного свойства. Эти два метода выполняют задачи, аналогичные возникающим при описании свойств классов языка Object Pascal. Для добавления свойства его нужно описать аналогично предварительной декларации при описании классов. Например, property Myinfo: byte. При нажатии кнопки ОК интерфейс и реализация создаваемого объекта обновятся, в соответствии с внесенными изменениями.

Обратите  внимание, что типы данных, используемые при описании свойств, не полностью  совпадают с типами Object Pascal, и  их перечень ограничен для совместимости  с другими средствами разработки и типами, используемыми в Windows.

В табл. 1 приведем наиболее используемые типы данных. 

Таблица 1. Некоторые типы данных, используемые при обмене информацией между сервером автоматизации и клиентом

Тип данных Описание
Byte Аналогичен  типу Byte из Object Pascal
Currency Аналогичен  типу Currency Object Pascal
Double Аналогичен  типу Double Object Pascal
WideString Аналогичен  типу WideString WideString из Object Pascal
 

При работе с внешними переменными нельзя использовать тип string. Вместо него, как видно из таблицы, можно применить нуль-терминованные строки WideString. 
 

      1. Загрузка компонентов ActiveX

Когда пользователь загружает Web-страницу, на которой есть ссылка на элемент управления ActiveX, браузер проверяет настройки  безопасности компьютера, и, если они  позволяют, посылает на сервер запрос на передачу двоичного кода скомпилированного компонента. Сервер, получив запрос, проверяет, доступен ли запрашиваемый файл, и если он доступен, то передает его клиенту. После получения кода компонента он должен быть зарегистрирован в системе (реестре). Об этом, опять-таки исходя из настроек безопасности, выдается предупреждение клиенту, с указанием информации о наличии цифровой подписи, и при существовании последней, информация о производителе загруженного элемента управления. Если пользователь разрешит, то элемент управления регистрируется и запускается на выполнение. При этом, как правило, его окно отображается в заранее определенной области Web-страницы. Кроме того, браузер передает ему параметры, которые могли быть указаны на Web-странице, в которую внедрен элемент управления ActiveX. Благодаря наличию такой возможности, серверу достаточно динамически формировать HTML-код, с указанием значений используемых параметров, чтобы заставить динамически работать элемент управления ActiveX. Процесс внедрения ActiveX-компонента осуществляется с использованием элемента OBJECT языка HTML, которому соответствует тег <OBJECT>, атрибуты которого описаны в следующем разделе. 
 

      1. Тег <OBJECT>языка HTML

Для того чтобы внедрить в документ HTML различные ActiveX-объекты или Java-апплеты, используется тег <OBJECT>.

Он имеет  следующие основные атрибуты:

  • classid — содержит уникальный 128-битный идентификатор, под которым элемент управления регистрируется в системе.
  • codebase — указывает URL, где расположен компонент.
  • standby — может применяться для задания текста, который будет отображаться во время загрузки компонента.
  • Height — содержит высоту области, отводимой под элемент управления.
  •   width — содержит ширину области, отводимой под элемент управления.
  • Name — применяется в контексте форм, если элемент управления служит для приема клиентских сведений с целью их последующей отправки на сервер.

К этим атрибутам, характеризующим базовые  сведения об объекте, добавляются параметры, которые автоматически передаются браузером объекту для использования.

Для этого  применяется элемент PARAM, имеющий  основные атрибуты:

  • Name — содержит название переменной, значение которой должно быть установлено.
  • Value — устанавливаемое значение переменной.

В отличие  от элемента OBJECT, где наличие конечного тега обязательно, использование последнего в элементе PARAM запрещено. Пример внедрения элемента управления ActiveX в Web-страницу приведен в листинге 1.

        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. Автоматическое создание 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. Поддержка Java

Internet Explorer является открытой платформой, построенной  согласно стандартам Internet. Эта платформа  позволяет Web-мастерам создавать,  а пользователям - смотреть информацию, оформленную с помощью всего  самого нового, что появляется  в технологиях. Начиная со 2 беты, Internet Explorer включает в себя самую быструю реализацию Java. 
 

      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. Поддержка 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 быстрее при доступе к переменным, немного медленнее на простых математических операциях и намного быстрее при создании объектов и при синхронизации их поведения. 

Информация о работе Компоненты ActiveX