unit Unit1;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
  ComObj, ActiveX, Example2_TLB, StdVcl;

type
  TAutoServ2 = class(TAutoObject, IAutoServ2)
  private
    MyMes: string;
  protected
    function Get_MyMessage: WideString; safecall;
    procedure Set_MyMessage(const Value: WideString); safecall;
    procedure ShowMyMessage; safecall;
    { Protected declarations }
  end;

implementation

uses ComServ, Windows;

function TAutoServ2.Get_MyMessage: WideString;
begin
  Result:= MyMes;
end;

procedure TAutoServ2.Set_MyMessage(const Value: WideString);
begin
  MyMes:= Value;
end;

procedure TAutoServ2.ShowMyMessage;
begin
  MessageBox(0, PChar(MyMes), PChar('Your message is...'), MB_OK);
end;

initialization
  TAutoObjectFactory.Create(ComServer, TAutoServ2, Class_AutoServ2,
    ciMultiInstance, tmApartment);
end.
