📄 server_tlb.pas
字号:
// --------------
published
end;
procedure Register;
implementation
uses ComObj;
class function CoPooledRDM.Create: IPooledRDM;
begin
Result := CreateComObject(CLASS_PooledRDM) as IPooledRDM;
end;
class function CoPooledRDM.CreateRemote(const MachineName: string): IPooledRDM;
begin
Result := CreateRemoteComObject(MachineName, CLASS_PooledRDM) as IPooledRDM;
end;
procedure TPooledRDM.InitServerData;
const
CServerData: TServerData = (
ClassID: '{0CE99802-9F28-11D1-8944-00A0248E5091}';
IntfIID: '{0CE99801-9F28-11D1-8944-00A0248E5091}';
EventIID: '';
LicenseKey: nil;
Version: 500);
begin
ServerData := @CServerData;
end;
procedure TPooledRDM.Connect;
var
punk: IUnknown;
begin
if FIntf = nil then
begin
punk := GetServer;
Fintf:= punk as IPooledRDM;
end;
end;
procedure TPooledRDM.DisConnect;
begin
FIntf := nil;
end;
function TPooledRDM.GetDefaultInterface: IPooledRDM;
begin
Connect;
Result := FIntf;
end;
function TPooledRDM.AS_ApplyUpdates(const ProviderName: WideString; Delta: OleVariant;
MaxErrors: Integer; out ErrorCount: Integer;
var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_ApplyUpdates(ProviderName, Delta, MaxErrors, ErrorCount, OwnerData);
end;
function TPooledRDM.AS_GetRecords(const ProviderName: WideString; Count: Integer;
out RecsOut: Integer; Options: Integer;
const CommandText: WideString; var Params: OleVariant;
var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_GetRecords(ProviderName, Count, RecsOut, Options, CommandText,
Params, OwnerData);
end;
function TPooledRDM.AS_DataRequest(const ProviderName: WideString; Data: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_DataRequest(ProviderName, Data);
end;
function TPooledRDM.AS_GetProviderNames: OleVariant;
begin
Result := DefaultInterface.AS_GetProviderNames;
end;
function TPooledRDM.AS_GetParams(const ProviderName: WideString; var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_GetParams(ProviderName, OwnerData);
end;
function TPooledRDM.AS_RowRequest(const ProviderName: WideString; Row: OleVariant;
RequestType: Integer; var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_RowRequest(ProviderName, Row, RequestType, OwnerData);
end;
procedure TPooledRDM.AS_Execute(const ProviderName: WideString; const CommandText: WideString;
var Params: OleVariant; var OwnerData: OleVariant);
begin
DefaultInterface.AS_Execute(ProviderName, CommandText, Params, OwnerData);
end;
class function CoPooler.Create: IPooledRDM;
begin
Result := CreateComObject(CLASS_Pooler) as IPooledRDM;
end;
class function CoPooler.CreateRemote(const MachineName: string): IPooledRDM;
begin
Result := CreateRemoteComObject(MachineName, CLASS_Pooler) as IPooledRDM;
end;
procedure TPooler.InitServerData;
const
CServerData: TServerData = (
ClassID: '{0CE99804-9F28-11D1-8944-00A0248E5091}';
IntfIID: '{0CE99801-9F28-11D1-8944-00A0248E5091}';
EventIID: '';
LicenseKey: nil;
Version: 500);
begin
ServerData := @CServerData;
end;
procedure TPooler.Connect;
var
punk: IUnknown;
begin
if FIntf = nil then
begin
punk := GetServer;
Fintf:= punk as IPooledRDM;
end;
end;
procedure TPooler.DisConnect;
begin
FIntf := nil;
end;
function TPooler.GetDefaultInterface: IPooledRDM;
begin
Connect;
Result := FIntf;
end;
function TPooler.AS_ApplyUpdates(const ProviderName: WideString; Delta: OleVariant;
MaxErrors: Integer; out ErrorCount: Integer;
var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_ApplyUpdates(ProviderName, Delta, MaxErrors, ErrorCount, OwnerData);
end;
function TPooler.AS_GetRecords(const ProviderName: WideString; Count: Integer;
out RecsOut: Integer; Options: Integer;
const CommandText: WideString; var Params: OleVariant;
var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_GetRecords(ProviderName, Count, RecsOut, Options, CommandText,
Params, OwnerData);
end;
function TPooler.AS_DataRequest(const ProviderName: WideString; Data: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_DataRequest(ProviderName, Data);
end;
function TPooler.AS_GetProviderNames: OleVariant;
begin
Result := DefaultInterface.AS_GetProviderNames;
end;
function TPooler.AS_GetParams(const ProviderName: WideString; var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_GetParams(ProviderName, OwnerData);
end;
function TPooler.AS_RowRequest(const ProviderName: WideString; Row: OleVariant;
RequestType: Integer; var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_RowRequest(ProviderName, Row, RequestType, OwnerData);
end;
procedure TPooler.AS_Execute(const ProviderName: WideString; const CommandText: WideString;
var Params: OleVariant; var OwnerData: OleVariant);
begin
DefaultInterface.AS_Execute(ProviderName, CommandText, Params, OwnerData);
end;
procedure Register;
begin
RegisterComponents('Servers',[TPooledRDM, TPooler]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -