⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ca200srvrlib_tlb.pas

📁 采用PC控制Ca210彩色分析仪
💻 PAS
📖 第 1 页 / 共 5 页
字号:
{$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 + -