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

📄 ucmidasconnreg.pas

📁 User control for Delphi 5..2007 User control access modificated
💻 PAS
字号:
unit UCMidasConnReg;

interface

{$I 'UserControl.inc'}

uses
  Classes,
  DesignEditors,
  DesignIntf,
  TypInfo;

type
  TUCProviderNameProperty = class(TStringProperty)
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

procedure Register;

implementation

uses
  Midas,
  UCMidasConn,
  Variants;

procedure Register;
begin
  RegisterComponents('UC Connectors', [TUCMidasConn]);
  RegisterPropertyEditor(TypeInfo(String), TUCMidasConn, 'ProviderName', TUCProviderNameProperty);
end;

{ TUCProviderNameProperty }

function TUCProviderNameProperty.GetAttributes: TPropertyAttributes;
begin
  Result := [paValueList];
end;

procedure TUCProviderNameProperty.GetValues(Proc: TGetStrProc);
var
  Componente: TComponent;
  Lista:      variant;
  I:          Integer;
begin
  Componente := TComponent(GetComponent(0));

  if not Assigned(Componente) then
    Exit;

  if not (Componente is TUCMidasConn) then
    Exit;

  if not Assigned(TUCMidasConn(Componente).Connection) then
    Exit;

  with TUCMidasConn(Componente) do
  begin

    try
      Lista := IAppServer(Connection.GetServer).AS_GetProviderNames;
    except
    end;

    if VarIsArray(Lista) and (VarArrayDimCount(Lista) = 1) then
      for I := VarArrayLowBound(Lista, 1) to VarArrayHighBound(Lista, 1) do
        Proc(Lista[I]);

  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -