📄 s_tt_tlb.pas
字号:
// OLE Server Properties Proxy Class
// Server Object : TRDM
// (This object is used by the IDE's Property Inspector to allow editing
// of the properties of this server)
// *********************************************************************//
TRDMProperties = class(TPersistent)
private
FServer: TRDM;
function GetDefaultInterface: IRDM;
constructor Create(AServer: TRDM);
protected
public
property DefaultInterface: IRDM read GetDefaultInterface;
published
end;
{$ENDIF}
procedure Register;
implementation
uses ComObj;
class function CoRDM.Create: IRDM;
begin
Result := CreateComObject(CLASS_RDM) as IRDM;
end;
class function CoRDM.CreateRemote(const MachineName: string): IRDM;
begin
Result := CreateRemoteComObject(MachineName, CLASS_RDM) as IRDM;
end;
procedure TRDM.InitServerData;
const
CServerData: TServerData = (
ClassID: '{31156339-9ECD-4A8C-BDC0-6DFAB3A1833A}';
IntfIID: '{0997AC4B-7EF0-483F-B349-DFDDEB4D99AF}';
EventIID: '';
LicenseKey: nil;
Version: 500);
begin
ServerData := @CServerData;
end;
procedure TRDM.Connect;
var
punk: IUnknown;
begin
if FIntf = nil then
begin
punk := GetServer;
Fintf:= punk as IRDM;
end;
end;
procedure TRDM.ConnectTo(svrIntf: IRDM);
begin
Disconnect;
FIntf := svrIntf;
end;
procedure TRDM.DisConnect;
begin
if Fintf <> nil then
begin
FIntf := nil;
end;
end;
function TRDM.GetDefaultInterface: IRDM;
begin
if FIntf = nil then
Connect;
Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
Result := FIntf;
end;
constructor TRDM.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps := TRDMProperties.Create(Self);
{$ENDIF}
end;
destructor TRDM.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps.Free;
{$ENDIF}
inherited Destroy;
end;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TRDM.GetServerProperties: TRDMProperties;
begin
Result := FProps;
end;
{$ENDIF}
function TRDM.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 TRDM.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 TRDM.AS_DataRequest(const ProviderName: WideString; Data: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_DataRequest(ProviderName, Data);
end;
function TRDM.AS_GetProviderNames: OleVariant;
begin
Result := DefaultInterface.AS_GetProviderNames;
end;
function TRDM.AS_GetParams(const ProviderName: WideString; var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_GetParams(ProviderName, OwnerData);
end;
function TRDM.AS_RowRequest(const ProviderName: WideString; Row: OleVariant; RequestType: Integer;
var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_RowRequest(ProviderName, Row, RequestType, OwnerData);
end;
procedure TRDM.AS_Execute(const ProviderName: WideString; const CommandText: WideString;
var Params: OleVariant; var OwnerData: OleVariant);
begin
DefaultInterface.AS_Execute(ProviderName, CommandText, Params, OwnerData);
end;
procedure TRDM.S_Add(var v_pkg: OleVariant);
begin
DefaultInterface.S_Add(v_pkg);
end;
procedure TRDM.S_Md(var v_pkg: OleVariant);
begin
DefaultInterface.S_Md(v_pkg);
end;
procedure TRDM.S_C_Add(const pStudent_id: WideString; const pcourse: WideString;
const pcourse_t: WideString; pperiod: Integer; pcredit: Integer;
const pbegin_date: WideString; const pend_date: WideString);
begin
DefaultInterface.S_C_Add(pStudent_id, pcourse, pcourse_t, pperiod, pcredit, pbegin_date, pend_date);
end;
procedure TRDM.S_C_Md(const pStudent_id: WideString; const pcourse: WideString;
const pcourse_t: WideString; pperiod: Integer; pcredit: Integer;
const pbegin_date: WideString; const pend_date: WideString);
begin
DefaultInterface.S_C_Md(pStudent_id, pcourse, pcourse_t, pperiod, pcredit, pbegin_date, pend_date);
end;
procedure TRDM.S_G_Md(const pStudent_id: WideString; const pcourse: WideString; pgrades: Integer);
begin
DefaultInterface.S_G_Md(pStudent_id, pcourse, pgrades);
end;
procedure TRDM.S_Year(const CurrentYear: WideString);
begin
DefaultInterface.S_Year(CurrentYear);
end;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TRDMProperties.Create(AServer: TRDM);
begin
inherited Create;
FServer := AServer;
end;
function TRDMProperties.GetDefaultInterface: IRDM;
begin
Result := FServer.DefaultInterface;
end;
{$ENDIF}
procedure Register;
begin
RegisterComponents('Servers',[TRDM]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -