git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.SDAC@3 6f543ec7-021b-7e4c-98c9-62eafc7fb9a8
101 lines
2.6 KiB
ObjectPascal
101 lines
2.6 KiB
ObjectPascal
unit Data;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr,
|
|
DBClient, Server_TLB, StdVcl, Db, MemDS, Provider,
|
|
DBTables, DBAccess, MSAccess, Dialogs, SdacVcl;
|
|
|
|
type
|
|
TDatas = class(TRemoteDataModule, IDatas)
|
|
MSConnection: TMSConnection;
|
|
Query: TMSQuery;
|
|
DataSetProvider: TDataSetProvider;
|
|
MSConnectDialog: TMSConnectDialog;
|
|
MSDataSetProvider: TDataSetProvider;
|
|
procedure DatasCreate(Sender: TObject);
|
|
procedure DatasDestroy(Sender: TObject);
|
|
procedure ConnectionChange(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
protected
|
|
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
Datas:TDatas;
|
|
|
|
implementation
|
|
uses ServerForm;
|
|
var
|
|
CountConnection:integer;
|
|
|
|
{$R *.DFM}
|
|
|
|
class procedure TDatas.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
|
|
begin
|
|
if Register then
|
|
begin
|
|
inherited UpdateRegistry(Register, ClassID, ProgID);
|
|
EnableSocketTransport(ClassID);
|
|
EnableWebTransport(ClassID);
|
|
end else
|
|
begin
|
|
DisableSocketTransport(ClassID);
|
|
DisableWebTransport(ClassID);
|
|
inherited UpdateRegistry(Register, ClassID, ProgID);
|
|
end;
|
|
end;
|
|
|
|
procedure TDatas.DatasCreate(Sender: TObject);
|
|
var
|
|
St: string;
|
|
begin
|
|
if not Assigned(Datas) then begin
|
|
Datas := TDatas(Sender);
|
|
St := Query.SQL.Text;
|
|
|
|
fmServer.meSQL.Lines.Text := St;
|
|
fmServer.cbDebug.Checked := Query.Debug;
|
|
fmServer.DataSource.DataSet := Query;
|
|
fmServer.rbDSResolve.Checked := MSDataSetProvider.ResolveToDataset;
|
|
fmServer.rbSQLResolve.Checked := not MSDataSetProvider.ResolveToDataset;
|
|
end;
|
|
|
|
Inc(CountConnection);
|
|
fmServer.StatusBar.Panels[0].Text := 'Count connections ' + IntToStr(CountConnection);
|
|
end;
|
|
|
|
procedure TDatas.DatasDestroy(Sender: TObject);
|
|
begin
|
|
if Datas = TDatas(Sender) then begin
|
|
if Assigned(fmServer) then
|
|
fmServer.DataSource.DataSet := nil;
|
|
Datas := nil;
|
|
end;
|
|
|
|
Dec(CountConnection);
|
|
if Assigned(fmServer) then
|
|
fmServer.StatusBar.Panels[0].Text := 'Count connections ' + IntToStr(CountConnection);
|
|
end;
|
|
|
|
procedure TDatas.ConnectionChange(Sender: TObject);
|
|
begin
|
|
if (Sender as TCustomDAConnection).Connected then
|
|
Inc(CountConnection)
|
|
else
|
|
Dec(CountConnection);
|
|
|
|
if Assigned(fmServer) then
|
|
fmServer.StatusBar.Panels[0].Text := 'Count connections ' + IntToStr(CountConnection);
|
|
end;
|
|
|
|
initialization
|
|
TComponentFactory.Create(ComServer, TDatas,
|
|
Class_Datas, ciMultiInstance{, tmApartment});
|
|
end.
|
|
|