unit Cont_Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Forms,
  ExtCtrls, Example2_TLB, ComObj, Controls, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Bevel1: TBevel;
    StatusBar1: TStatusBar;
    Button1: TButton;
    Button2: TButton;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
    InProc: IAutoServ2;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    InProc:= CreateComObject(CLASS_AutoServ2) as IAutoServ2;
//  InProc:= CoAutoServ2.Create;  // - можно создать экземпляр СА и таким образом
    StatusBar1.SimpleText:= 'connected...';
    Button1.Enabled:= False;
    Button2.Enabled:= True;
    Button3.Enabled:= True;
    Button4.Enabled:= True;
    Edit1.Enabled:= True;
  except
    MessageBox(0, PChar('Невозможно соединиться с внутренним сервером автоматизации.'), PChar(Form1.Caption), MB_OK);
    Raise;
  end; {try}
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  try
    InProc:= nil;
    StatusBar1.SimpleText:= 'disconnected...';
    Button1.Enabled:= True;
    Button2.Enabled:= False;
    Button3.Enabled:= False;
    Button4.Enabled:= False;
    Edit1.Enabled:= False;
  except
    MessageBox(0, PChar('Невозможно отсоединиться от внутреннего сервера автоматизации.'), PChar(Form1.Caption), MB_OK);
    Raise;
  end; {try}
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  try
    InProc.MyMessage:= Edit1.Text;
    MessageBox(0, PChar('Ваше сообщение принято.'), PChar('InProc Server.'), MB_OK);
  except
    MessageBox(0, PChar('Не удалось выполнить присвоение переменной MyMessage сервера.'), PChar(Form1.Caption), MB_OK);
    Raise;
  end; {try}
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  try
    InProc.ShowMyMessage;
  except
    MessageBox(0, PChar('Не удалось выполнить процедуру ShowMyMessage сервера.'), PChar(Form1.Caption), MB_OK);
    Raise;
  end; {try}
end;

end.          
