Шаг 5.
Создание Internet-приложений в среде Delphi. Интерфейс сервера Web, предлагаемый Delphi

    На этом шаге мы рассмотрим возможности, имеющиеся в Delphi, по созданию интерфейса Web-сервера.

    Трудно сразу сделать правильный выбор между CGI-приложением и динамически загружаемой библиотекой DLL (ISAPI и NSAPI). Однако, в Delphi, этот выбор можно заранее и не делать, а компилировать готовый проект в любой тип приложения: CGI, WIN-CGI, ISAPI или NSAPI. Если выбранный тип приложения по каким-то причинам не устроит, всегда можно пересобрать проект в другой тип приложения.

    Можно переписать простое CGI-приложение, сообщающее текущее время, используя интерфейс Delphi Web-сервера; для чего необходимо выполнить следующие действия:

    Выбрать команду меню File | New | Other..., которая выведет на экран диалоговое окно New Items. В закладке New выбрать приложение Web-сервера и нажать ОК.


Рис.1. Выбор приложения Web-сервера

    Далее необходимо указать тип серверного приложения CGI Stand-alone executable (автономная исполняемая программа CGI).


Рис.2. Выбор типа сервера

    В результате получится новый пустой проект с модулем Web и соответствующими установками, необходимыми для создания CGI-приложения.

    На следующем шаге надо добавить в прикладную программу код, выполняющий нужные действия. Для этого, выполняются следующие шаги:

  1. Дважды щелкните по свойству Actions Web-модуля WebModule1 в Инспекторе Объектов. На экран выведется новое окно диалога, озаглавленное как "Editing WebModulel.Actions". Диалоговое окно будет иметь имеет пять столбцов: Name (Имя), Pathlnfo (Путь), Enabled (Активен), Default (Используется по умолчанию) и Producer (Поставщик):


    Рис.3. Результат двойного щелчка по свойству Actions

  2. Добавить новую строку в таблицу действий, с помощью кнопки Add New Item (смотри рисунок 3).

       

  3. Двойной щелчок на событии OnAction в Инспекторе Объектов, приведет к созданию прототипа для обработчика события. Этот код будет выполняться при вызове программы из браузера клиента.

       

  4. Отредактируем текст обработчика этого события, чтобы он выглядел следующим образом:
    procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
      Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
    begin
      Response.Content:= '<H1> Привет! </Н1> <HR>' +
      '<B>Приложение CGI </B><HR>'+'Текущее время:'+ TimeToStr(SysUtils.Time);
    end;
    
  5. Далее сохраняем проект под именем ТIМЕР2 и откомпилируем его. Текст этого приложения можно взять здесь (99,6 Кб).

       

  6. Поместив программу TIMEP2.EXE в "исполняемый каталог" Web-сервера, вызовем эту прикладную программу CGI точно так, как это делали прежде, чтобы выполнить CGI-приложение сервера.

       

  7. По итогам работы приложения получаем HTML-страницу следующего вида:


    Рис.4. Результат работы приложения

    На следующем шаге мы рассмотрим процесс преобразования CGI-приложения в DLL.




Предыдущий шаг Содержание Следующий шаг