Привет! Это снова я, а это значит,
что сейчас мы будем говорить о кодинге на
Delphi. А говорить мы будем об ActiveX. Ты, наверное,
хотя бы один раз слышал об этом. ActiveX-это
стандарт применения компонентного подхода
в среде Windows. Создавать их можно практически
на любом языке. Ну а я тебе покажу, как это
можно делать на Delphi, а именно, как создавать
активные формы.

Создание активной формы

Она создается командой New->File->ActiveForm(на
закладке ActiveX). Итак, перед нами пустая форма
(содержащая много программного кода). Мы
будем создавать небольшую прогу, которая
будет решать, для примера, квадратные
уравнения (если, забыл - открывай учебник по
алгебре за 8-9 класс). На форму кидаем 4 Edit’а (три
на a,b,c (т.к. квадратные уравнения имеют вид ax²
+ bx + c) и одну на ответ) и одну кнопку. Создаем
обработчик события OnClick и пишем:

procedure TActiveFormX.Button1Click(Sender: TObject);
var
otvet1,otvet2,a,b,c,d,otvet3: real;
begin
//Присваиваем значения переменным
a:=StrToFloat(Edit1.text);
b:=StrToFloat(Edit2.text);
c:=StrToFloat(Edit3.text);
//считаем дискриминант
d:=Sqr(B) - (4*a*c);
//если он отрицательный
if d<0 then Edit4.text:='Корней НЕТ';
//если равен нулю
if d=0 then
begin
//считаем ответ
otvet3:= -b /(2*a);
Edit4.text:=FloatToStr(otvet3);
end;
//если больше нуля
if d>0 then
begin
//считаем 2 ответа
otvet1:= (-b + (sqrt(d)))/(2 * a);
otvet2:= (-b - (sqrt(d)))/(2 * a);
//выводим их через запятую
Edit4.text:=FloatToStr(otvet1)+','+FloatToStr(otvet2);
end;
end;

Выполним компиляцию проекта, и у
нас появится файл ActiveFormProj1.ocx. 

Включение активной формы в веб-страницу

Чтобы включить этот файл в
страницу - создадим небольшой HTML-файл,
примерно с таким содержанием.

<html>
<H1>ActiveX Test</H1>
<hr><center>
<OBJECT
classid="clsid:3B3F505A-696C-4D99-A64F-637E1D690FDE"
codebase="./ActiveFormProj1.ocx"
width=371
heigth=62
align=center
hspace=0
vspace=0
>
</OBJECT>
</html>

Где, classid-это идентификатор GUID,
который можно получить, если обратиться к
View->Type library->слева выбери пункт ActiveFormX->справа
будет нужное поле, а атрибут codebase-местоположение
файла на сервере (например, http://site.ru/my.ocx).

В качестве замечаний скажу:

  1. Элемент ActiveX, созданный с помощью
    Дельфи достаточно большой, поэтому
    пользователь может не дождаться его
    загрузки.

  2. В некоторых броузерах может быть
    отключена функция выполнения ActiveX
    элементов, так как они способны выполнять
    практически любые действия, что
    потенциально очень опасно. Обычно
    разрешается запускать только
    подписанные электронной подписью
    элементы и заверенные Microsoft.

Как снабдить компонент подписью мы
поговорим как-нибудь в другой раз. А пока
вот исходники: ActiveX.zip

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии