Шаг 28.
Серверы и контроллеры автоматизации. Разработка приложения для сервера автоматизации

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

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

    Разработаем простейший сервер автоматизации. С этой целью создадим обычное приложение, например, текстовый редактор, содержащий панель инструментов с четырьмя кнопками и компонент ТМеmo (рисунок 1), а также диалоговые окна открытия и сохранения файла.


Рис.1. Внешний вид приложения

    Создадим обработчики событий, связанные со щелчками на кнопках:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Memo1: TMemo;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//Очистка окна редактора.
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
   Memo1.Lines.Clear;
end;

//Загрузка текста из файла.
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
   if OpenDialog1.Execute then
       Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

//Сохранение текста в файле.
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
   if SaveDialog1.Execute then
       Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;

//Закрытие приложения.
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
   Close;
end;

end.
Текст этого приложения можно взять здесь (6 Кб).

    Сохраним проект под именем AutoServ. Отметим, что пока созданный нами текстовый редактор представляет собой обычное Windows-приложение и не является сервером автоматизации.

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




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