Автор работы: Пользователь скрыл имя, 05 Декабря 2009 в 15:49, Не определен
Контрольная работа
При разработке
элементов управления реализуются
достаточно сложные механизмы создания
абстрактных интерфейсов и наследования.
Разработчики среды Delphi избавили программистов
от необходимости самостоятельно проектировать
интерфейсы к создаваемым СОМ-серверам.
Если вы хотите что-либо откорректировать
в вами же предложенном варианте, то это
можно сделать вручную, на базе уже сгенерированного
кода.
Доступ к переменным, которые используются в программе, может быть осуществлен только в том случае, если они объявлены свойствами класса, представляющего ActiveX-форму, а именно — ActiveFormX.
Для добавления переменной нужно выполнить следующую последовательность шагов, вызывая соответствующие пункты меню: Edit | Add to Interface. При этом на экране появится окно, приведенное на рис. 2
Рис. 2.
Меню добавления свойств, методов, событий
Это меню
позволяет добавить описание нового
свойства (равносильно, как и метода
или события) сначала в класс,
являющийся интерфейсом класса формы
(его наличие вызвано
Обратите внимание, что типы данных, используемые при описании свойств, не полностью совпадают с типами Object Pascal, и их перечень ограничен для совместимости с другими средствами разработки и типами, используемыми в Windows.
В табл.
1 приведем наиболее используемые типы
данных.
Таблица 1. Некоторые типы данных, используемые при обмене информацией между сервером автоматизации и клиентом
Тип данных | Описание |
Byte | Аналогичен типу Byte из Object Pascal |
Currency | Аналогичен типу Currency Object Pascal |
Double | Аналогичен типу Double Object Pascal |
WideString | Аналогичен типу WideString WideString из Object Pascal |
При работе
с внешними переменными нельзя использовать
тип string. Вместо него, как видно из
таблицы, можно применить нуль-
Когда
пользователь загружает Web-страницу, на
которой есть ссылка на элемент управления
ActiveX, браузер проверяет настройки
безопасности компьютера, и, если они
позволяют, посылает на сервер запрос
на передачу двоичного кода скомпилированного
компонента. Сервер, получив запрос, проверяет,
доступен ли запрашиваемый файл, и если
он доступен, то передает его клиенту.
После получения кода компонента он должен
быть зарегистрирован в системе (реестре).
Об этом, опять-таки исходя из настроек
безопасности, выдается предупреждение
клиенту, с указанием информации о наличии
цифровой подписи, и при существовании
последней, информация о производителе
загруженного элемента управления. Если
пользователь разрешит, то элемент управления
регистрируется и запускается на выполнение.
При этом, как правило, его окно отображается
в заранее определенной области Web-страницы.
Кроме того, браузер передает ему параметры,
которые могли быть указаны на Web-странице,
в которую внедрен элемент управления
ActiveX. Благодаря наличию такой возможности,
серверу достаточно динамически формировать
HTML-код, с указанием значений используемых
параметров, чтобы заставить динамически
работать элемент управления ActiveX. Процесс
внедрения ActiveX-компонента осуществляется
с использованием элемента OBJECT языка HTML,
которому соответствует тег <OBJECT>, атрибуты
которого описаны в следующем разделе.
Для того чтобы внедрить в документ HTML различные ActiveX-объекты или Java-апплеты, используется тег <OBJECT>.
Он имеет следующие основные атрибуты:
К этим
атрибутам, характеризующим базовые
сведения об объекте, добавляются параметры,
которые автоматически
Для этого применяется элемент PARAM, имеющий основные атрибуты:
В отличие от элемента OBJECT, где наличие конечного тега обязательно, использование последнего в элементе PARAM запрещено. Пример внедрения элемента управления ActiveX в Web-страницу приведен в листинге 1.
<HTML>
<Н1> Пример внедрения ActiveX-формы в Web-страницу</Н1>
<p><OBJECT
classid="clsid:C9F21C24-DA34-
width=429
height=275
align=center
hspace=0
vspace=0>
<PARAM NAME="MyParametr" VALUE="DynamValue">
</OBJECT>
</HTML>
Устанавливая значения параметров динамически, с помощью CGI-техно-логий, можно добиться интерактивной работы таких форм не только в контексте настольного приложения, но и в режиме клиент-серверного взаимодействия.
Для облегчения процесса внедрения ActiveX-элементов управления в Web-страницы, в Delphi предусмотрена возможность для автоматической генерации HTML-файлов, содержащих внедряемые компоненты. Благодаря этому, при отладке работы элементов управления теряется необходимость в ручном редактировании HTML-документов, и программист всегда имеет под рукой готовый пример внедрения. Поэтому все, что остается ему сделать, — это перенести фрагмент сгенерированного кода, описывающего элемент OBJECT, в создаваемую Web-страницу.
Прежде
чем генерировать Web-страницу, следует
заполнить несколько следующих
опций, открывающихся при выборе
пунктов меню Project | Web Deployment Options...
Internet Explorer
является открытой платформой, построенной
согласно стандартам Internet. Эта платформа
позволяет Web-мастерам
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.
В отношении Java Internet Explorer реализует в себе следующее:
Быстрая
компиляция программ 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 быстрее при доступе к переменным,
немного медленнее на простых математических
операциях и намного быстрее при создании
объектов и при синхронизации их поведения.