📄 data.pas
字号:
unit Data;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComServ, ComObj, VCLCom, StdVcl, BdeProv, DataBkr, DBClient, Server_TLB,
Ora, Db, MemDS, OraSmart, Provider, OraProvider, DBAccess;
type
TDatas = class(TRemoteDataModule, IDatas)
OraSession: TOraSession;
Query: TSmartQuery;
ConnectDialog: TConnectDialog;
OraProvider: TOraProvider;
DataSetProvider: TDataSetProvider;
procedure DatasCreate(Sender: TObject);
procedure DatasDestroy(Sender: TObject);
procedure OraSessionConnectChange(Sender: TObject; Connected: Boolean);
private
{ Private declarations }
public
{ Public declarations }
function Get_OraProvider: IProvider; safecall;
protected
function Get_DataSetProvider: IProvider; safecall;
end;
var
Datas: TDatas;
implementation
uses
ServerForm;
{$R *.DFM}
var
CountConnection:integer = 0;
function TDatas.Get_OraProvider: IProvider;
begin
Result := OraProvider.Provider;
end;
procedure TDatas.DatasCreate(Sender: TObject);
begin
if not Assigned(Datas) then begin
Datas := TDatas(Sender);
fmServer.meSQL.Lines.Assign(Query.SQL);
fmServer.cbDebug.Checked := Query.Debug;
fmServer.DataSource.DataSet := Query;
fmServer.rbDSResolve.Checked := OraProvider.ResolveToDataset;
fmServer.rbSQLResolve.Checked := not OraProvider.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
fmServer.DataSource.DataSet := nil;
Datas := nil;
end;
Dec(CountConnection);
fmServer.StatusBar.Panels[0].Text := 'Count connections ' + IntToStr(CountConnection);
end;
procedure TDatas.OraSessionConnectChange(Sender: TObject;
Connected: Boolean);
begin
if Connected then
Inc(CountConnection)
else
Dec(CountConnection);
fmServer.StatusBar.Panels[0].Text := 'Count connections ' + IntToStr(CountConnection);
end;
function TDatas.Get_DataSetProvider: IProvider;
begin
Result := DataSetProvider.Provider;
end;
initialization
TComponentFactory.Create(ComServer, TDatas,
Class_Datas, ciMultiInstance, tmApartment);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -