📄 ca200srvrlib_tlb.pas
字号:
{$ENDIF}
function GetDefaultInterface: IProbes;
protected
procedure InitServerData; override;
function Get_Item(IndexVal: OleVariant): IProbe;
function Get_Count: Integer;
function Get_ItemOfNumber(ProbeNumber: Integer): IProbe;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Connect; override;
procedure ConnectTo(svrIntf: IProbes);
procedure Disconnect; override;
procedure SetProbeID(ProbeNumberVal: Integer; const ProbeIDVal: WideString);
property DefaultInterface: IProbes read GetDefaultInterface;
property Item[IndexVal: OleVariant]: IProbe read Get_Item; default;
property Count: Integer read Get_Count;
property ItemOfNumber[ProbeNumber: Integer]: IProbe read Get_ItemOfNumber;
published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
property Server: TProbesProperties read GetServerProperties;
{$ENDIF}
end;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object : TProbes
// (This object is used by the IDE's Property Inspector to allow editing
// of the properties of this server)
// *********************************************************************//
TProbesProperties = class(TPersistent)
private
FServer: TProbes;
function GetDefaultInterface: IProbes;
constructor Create(AServer: TProbes);
protected
function Get_Item(IndexVal: OleVariant): IProbe;
function Get_Count: Integer;
function Get_ItemOfNumber(ProbeNumber: Integer): IProbe;
public
property DefaultInterface: IProbes read GetDefaultInterface;
published
end;
{$ENDIF}
// *********************************************************************//
// The Class CoProbe provides a Create and CreateRemote method to
// create instances of the default interface IProbe exposed by
// the CoClass Probe. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoProbe = class
class function Create: IProbe;
class function CreateRemote(const MachineName: string): IProbe;
end;
// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object : TProbe
// Help String : Probe Class
// Default Interface: IProbe
// Def. Intf. DISP? : No
// Event Interface:
// TypeFlags : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
TProbeProperties= class;
{$ENDIF}
TProbe = class(TOleServer)
private
FIntf: IProbe;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps: TProbeProperties;
function GetServerProperties: TProbeProperties;
{$ENDIF}
function GetDefaultInterface: IProbe;
protected
procedure InitServerData; override;
function Get_X: Single;
function Get_Y: Single;
function Get_Z: Single;
function Get_FlckrJEITA: Single;
function Get_Number: Integer;
function Get_ID: WideString;
procedure Set_ID(const ProbeIDVal: WideString);
function Get_SerialNO: WideString;
function Get_Lv: Single;
function Get_ud: Single;
function Get_vd: Single;
function Get_T: Integer;
function Get_dEUser: Single;
function Get_FlckrFMA: Single;
function Get_sy: Single;
function Get_sx: Single;
function Get_duv: Single;
function Get_usUser: Single;
function Get_vsUser: Single;
function Get_LsUser: Single;
function Get_LvfL: Single;
function Get_R: Single;
function Get_G: Single;
function Get_B: Single;
function Get_RD: Integer;
function Get_RAD: Integer;
function Get_RFMA: Integer;
function Get_RJEITA: Integer;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Connect; override;
procedure ConnectTo(svrIntf: IProbe);
procedure Disconnect; override;
function GetSpectrum(Frequency: Integer): Single;
property DefaultInterface: IProbe read GetDefaultInterface;
property X: Single read Get_X;
property Y: Single read Get_Y;
property Z: Single read Get_Z;
property FlckrJEITA: Single read Get_FlckrJEITA;
property Number: Integer read Get_Number;
property SerialNO: WideString read Get_SerialNO;
property Lv: Single read Get_Lv;
property ud: Single read Get_ud;
property vd: Single read Get_vd;
property T: Integer read Get_T;
property dEUser: Single read Get_dEUser;
property FlckrFMA: Single read Get_FlckrFMA;
property sy: Single read Get_sy;
property sx: Single read Get_sx;
property duv: Single read Get_duv;
property usUser: Single read Get_usUser;
property vsUser: Single read Get_vsUser;
property LsUser: Single read Get_LsUser;
property LvfL: Single read Get_LvfL;
property R: Single read Get_R;
property G: Single read Get_G;
property B: Single read Get_B;
property RD: Integer read Get_RD;
property RAD: Integer read Get_RAD;
property RFMA: Integer read Get_RFMA;
property RJEITA: Integer read Get_RJEITA;
property ID: WideString read Get_ID write Set_ID;
published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
property Server: TProbeProperties read GetServerProperties;
{$ENDIF}
end;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object : TProbe
// (This object is used by the IDE's Property Inspector to allow editing
// of the properties of this server)
// *********************************************************************//
TProbeProperties = class(TPersistent)
private
FServer: TProbe;
function GetDefaultInterface: IProbe;
constructor Create(AServer: TProbe);
protected
function Get_X: Single;
function Get_Y: Single;
function Get_Z: Single;
function Get_FlckrJEITA: Single;
function Get_Number: Integer;
function Get_ID: WideString;
procedure Set_ID(const ProbeIDVal: WideString);
function Get_SerialNO: WideString;
function Get_Lv: Single;
function Get_ud: Single;
function Get_vd: Single;
function Get_T: Integer;
function Get_dEUser: Single;
function Get_FlckrFMA: Single;
function Get_sy: Single;
function Get_sx: Single;
function Get_duv: Single;
function Get_usUser: Single;
function Get_vsUser: Single;
function Get_LsUser: Single;
function Get_LvfL: Single;
function Get_R: Single;
function Get_G: Single;
function Get_B: Single;
function Get_RD: Integer;
function Get_RAD: Integer;
function Get_RFMA: Integer;
function Get_RJEITA: Integer;
public
property DefaultInterface: IProbe read GetDefaultInterface;
published
property ID: WideString read Get_ID write Set_ID;
end;
{$ENDIF}
// *********************************************************************//
// The Class CoOutputProbes provides a Create and CreateRemote method to
// create instances of the default interface IOutputProbes exposed by
// the CoClass OutputProbes. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoOutputProbes = class
class function Create: IOutputProbes;
class function CreateRemote(const MachineName: string): IOutputProbes;
end;
// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object : TOutputProbes
// Help String : OutputProbes Class
// Default Interface: IOutputProbes
// Def. Intf. DISP? : No
// Event Interface:
// TypeFlags : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
TOutputProbesProperties= class;
{$ENDIF}
TOutputProbes = class(TOleServer)
private
FIntf: IOutputProbes;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps: TOutputProbesProperties;
function GetServerProperties: TOutputProbesProperties;
{$ENDIF}
function GetDefaultInterface: IOutputProbes;
protected
procedure InitServerData; override;
function Get_Item(ProbeIndexVal: OleVariant): IProbe;
function Get_Count: Integer;
function Get_ItemOfNumber(ProbeNumberVal: Integer): IProbe;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Connect; override;
procedure ConnectTo(svrIntf: IOutputProbes);
procedure Disconnect; override;
procedure Add(const ProbeIDVal: WideString);
procedure AddAll;
function Clone: IOutputProbes;
procedure RemoveAll;
property DefaultInterface: IOutputProbes read GetDefaultInterface;
property Item[ProbeIndexVal: OleVariant]: IProbe read Get_Item; default;
property Count: Integer read Get_Count;
property ItemOfNumber[ProbeNumberVal: Integer]: IProbe read Get_ItemOfNumber;
published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
property Server: TOutputProbesProperties read GetServerProperties;
{$ENDIF}
end;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object : TOutputProbes
// (This object is used by the IDE's Property Inspector to allow editing
// of the properties of this server)
// *********************************************************************//
TOutputProbesProperties = class(TPersistent)
private
FServer: TOutputProbes;
function GetDefaultInterface: IOutputProbes;
constructor Create(AServer: TOutputProbes);
protected
function Get_Item(ProbeIndexVal: OleVariant): IProbe;
function Get_Count: Integer;
function Get_ItemOfNumber(ProbeNumberVal: Integer): IProbe;
public
property DefaultInterface: IOutputProbes read GetDefaultInterface;
published
end;
{$ENDIF}
procedure Register;
resourcestring
dtlServerPage = 'ActiveX';
dtlOcxPage = 'ActiveX';
implementation
uses ComObj;
class function CoCa200.Create: ICa200;
begin
Result := CreateComObject(CLASS_Ca200) as ICa200;
end;
class function CoCa200.CreateRemote(const MachineName: string): ICa200;
begin
Result := CreateRemoteComObject(MachineName, CLASS_Ca200) as ICa200;
end;
procedure TCa200.InitServerData;
const
CServerData: TServerData = (
ClassID: '{006B0650-AF9A-4EE1-B18F-B5740004D7CE}';
IntfIID: '{DB87A8F6-FAF3-433A-B7F3-31BB4D759361}';
EventIID: '';
LicenseKey: nil;
Version: 500);
begin
ServerData := @CServerData;
end;
procedure TCa200.Connect;
var
punk: IUnknown;
begin
if FIntf = nil then
begin
punk := GetServer;
Fintf:= punk as ICa200;
end;
end;
procedure TCa200.ConnectTo(svrIntf: ICa200);
begin
Disconnect;
FIntf := svrIntf;
end;
procedure TCa200.DisConnect;
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -