unit ClassFactoryClientMain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, uROWinMessageChannel, StdCtrls, Spin, uROClient, uROBINMessage, uROIndyTCPChannel; type TClassFactoryClientMainForm = class(TForm) GroupBox1: TGroupBox; seSingleton: TSpinEdit; SingletonGetButton: TButton; SingletonSetButton: TButton; ROBINMessage: TROBINMessage; GroupBox2: TGroupBox; seSingleCall: TSpinEdit; SingleCallSetButton: TButton; GroupBox3: TGroupBox; spPooled: TSpinEdit; PooledGetButton: TButton; PooledSetButton: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; ROIndyTCPChannel: TROIndyTCPChannel; procedure SingletonGetButtonClick(Sender: TObject); procedure SingleCallGetButtonClick(Sender: TObject); procedure SingletonSetButtonClick(Sender: TObject); procedure SingleCallSetButtonClick(Sender: TObject); procedure PooledGetButtonClick(Sender: TObject); procedure PooledSetButtonClick(Sender: TObject); private public end; var ClassFactoryClientMainForm: TClassFactoryClientMainForm; implementation uses ClassFactoryLibrary_Intf; {$R *.DFM} procedure TClassFactoryClientMainForm.SingletonGetButtonClick(Sender: TObject); begin with CoSingletonService.Create(ROBINMessage, ROIndyTCPChannel) do ShowMessage(IntToStr(GetValue)); end; procedure TClassFactoryClientMainForm.SingletonSetButtonClick(Sender: TObject); begin with CoSingletonService.Create(ROBINMessage, ROIndyTCPChannel) do SetValue(seSingleton.Value); end; procedure TClassFactoryClientMainForm.SingleCallGetButtonClick(Sender: TObject); begin with CoSingleCallService.Create(ROBINMessage, ROIndyTCPChannel) do ShowMessage(IntToStr(GetValue)); end; procedure TClassFactoryClientMainForm.SingleCallSetButtonClick(Sender: TObject); begin with CoSingleCallService.Create(ROBINMessage, ROIndyTCPChannel) do SetValue(seSingleton.Value); end; procedure TClassFactoryClientMainForm.PooledGetButtonClick(Sender: TObject); begin with CoPooledService.Create(ROBINMessage, ROIndyTCPChannel) do ShowMessage(IntToStr(GetValue)); end; procedure TClassFactoryClientMainForm.PooledSetButtonClick(Sender: TObject); begin with CoPooledService.Create(ROBINMessage, ROIndyTCPChannel) do SetValue(spPooled.Value); end; end.