unit fs02iopCln_02_ClnModule;
interface
uses
System.SysUtils, System.Classes, fs02iopCln_03_ClnClasses, Data.DBXDataSnap,
Data.DBXCommon, IPPeerClient, Data.DB, Data.SqlExpr;
type
TClientModule1 = class(TDataModule)
SQLConnection1: TSQLConnection;
private
FInstanceOwner: Boolean;
FServerMethods1Client: TServerMethods1Client;
function GetServerMethods1Client: TServerMethods1Client;
{ Private declarations }
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property InstanceOwner: Boolean read FInstanceOwner write FInstanceOwner;
property ServerMethods1Client: TServerMethods1Client read GetServerMethods1Client write FServerMethods1Client;
end;
var
ClientModule1: TClientModule1;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
constructor TClientModule1.Create(AOwner: TComponent);
begin
inherited;
FInstanceOwner := True;
end;
destructor TClientModule1.Destroy;
begin
FServerMethods1Client.Free;
inherited;
end;
function TClientModule1.GetServerMethods1Client: TServerMethods1Client;
begin
if FServerMethods1Client = nil then
begin
SQLConnection1.Open;
FServerMethods1Client:= TServerMethods1Client.Create(SQLConnection1.DBXConnection, FInstanceOwner);
end;
Result := FServerMethods1Client;
end;
end.