Como fazer uma classe ESPECIAL no Delphi 2005?

29/11/2005

0

Olá, Senhores. Está é pra ferrar. Então, por favor, que a ler encaminhe para os ´doutores da lei´.

Usando o Delphi 2005, quero uma classe que controle a conexão com o banco de dados e seja pública a ponto de ser usada nas propriedades dos componentes de dados da BDP...
type
  TBDados = class(System.ComponentModel.Component)
  {$REGION ´Designer Managed Code´}
  strict private
    /// <summary>
    /// Required designer variable.
    /// </summary>
    Components: System.ComponentModel.Container;

    _Conn: Borland.Data.Provider.BdpConnection;
    spc_VerifyUser: Borland.Data.Provider.BdpCommand;
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    procedure InitializeComponent;
  {$ENDREGION}
  strict protected
    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;

  strict private
    FUserID: Integer;
    FUserName: String;
    FUserKey: String;
    FUserGrants: String;


  public

    function  get_Conn: Borland.Data.Provider.BdpConnection;
    function  get_UserID: Integer;
    procedure set_UserID(const Value: Integer);
    function  get_UserName: String;
    procedure set_UserName(const Value: String);
    function  get_UserKey: String;
    procedure set_UserKey(const Value: String);
    function  get_UserGrants: String;
    procedure set_UserGrants(const Value: String);

    constructor Create; overload;
    constructor Create(Container: System.ComponentModel.IContainer); overload;

    function  VerifyUser(User, Key: String; SetUser: Boolean): Integer;
    procedure ClearUser;

    property Conn: Borland.Data.Provider.BdpConnection read get_Conn;

    property UserID: Integer read get_UserID write set_UserID;
    property UserName: String read get_UserName write set_UserName;
    property UserKey: String read get_UserKey write set_UserKey;
    property UserGrants: String read get_UserGrants write set_UserGrants;
  end;

  function BDados: TBDados;

var
  BD: TBDados;


Notem que eu deixei uma variável e uma função que deveriam ser de visão pública. Quando uso em código elas estão a disposição...
   [color=blue:3f785ab156][b:3f785ab156]tbUsers.SelectCommand.Connection := BD.Conn;[/b:3f785ab156][/color:3f785ab156]
... por exemplo.
Mas eu preciso que as propriedades dos componentes vejam esta variável ou objeto para ser atribuído já no Object-Inspector, tal como outro componente BdpConnection qualquer.

A outra saída seria criar componentes que fornecessem dados diretos aos componentes de tela (tal como um TextBox e suas propriedades DataBind).

Por favor, é uma emergência!!!
Os próprios editores da revista poderiam consultar o pessoal envolvido com a Borland, visto que está questão é 100¬ de interesse OOP !!!
Sei que isso é possível porque vi fazerem no VisualStudio (aliás, os DataBinds já estavam presente no VB6... imaginem). Estou lutando conta uma ´gang´ que tenta fazer nossos patrões imporem o VB como linguagem em um novo projeto. REPITO: É UMA EMERGÊNCIA.


Apreensivo e esperançoso...

Coração Abalado (her... :roll:)
quero dizer:

Ricardo Ildefonso.


Ildefonso

Ildefonso

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar