Fórum preciso de uma dica de poo #337565
08/02/2007
0
Como faço pra setar o sqlconnection desse sqldataset como sendo o sqlconnection da minha outra classe, sendo que tanto o sqlconection da classe A como o sqldataset da classe B são encapsulados e private?
Grato!
Vitor Rubio
Curtir tópico
+ 0Posts
08/02/2007
Lab
Gostei + 0
08/02/2007
Vitor Rubio
Gostei + 0
08/02/2007
Leonardobhbr
[color=green:4cff53aedf]
getSQLConection
[/color:4cff53aedf]
na sua calsse que tem o sqlConection Retornando um objeto SQLConection que seria o da classe
e na outra classe so chamaria este metodo
Gostei + 0
09/02/2007
Vitor Rubio
Gostei + 0
09/02/2007
Leonardobhbr
Gostei + 0
09/02/2007
Callegaro
Retirado do livro Delphi 6.
Crie uma subclasse para cada tipo de objeto, e depois sobrecarregue o método de retorno do objeto. Acho que isto resolve seu problema.
Gostei + 0
09/02/2007
Rjun
Gostei + 0
12/02/2007
Vitor Rubio
Tbanco = class private FsqlCon: TsqlConnection; public property Host : string; property Login: string; property Senha: string; property Caminho: string; property EAssimPorDiante: Tsucessivamente; end; TDados = class private FsqlDataset: TsqlDataSet; public property sql: string; property Banco: Tbanco; //(opa!) end;
Então, a pergunta é: o sqlDataset da segunda classe precisa ser ligado ao
sqlConnection da classe de cima. Todo sqlDataset precisa de um sqlConnection. Gostaria que não tivesse nada na minha classe (externamente, em sua interface) específico de tecnologia de acesso a dados, mas que ela criasse e implementasse tudo que precisasse internamente, de acordo com as propriedades setadas, arquivo de configuração, ou seja lá o que for. Mas gostaria de ligar a propriedade banco da Tacesso num objeto da Tbanco, e que quando eu fizesse isso, automaticamente ela ligasse o sqlDataset interno de TDados ao sqlConnection interno de Tbanco, sem precisar saber o tipo do banco ou que tipo de datset ela usaria para acessar (ADO, IBX, DBX, ZEOS etc)
Não gostaria de usar coisas que contrariam a poo como hack protected (ou a propria seção protected) e não gostaria de colocar as duas classes na mesma unit só pra uma classe acessar os campos private da outra porque isso também foga da POO. Se não existir jeito de fazer isso ´bunitamente´ então eu faço de qualquer outro jeito que também funcione, mas se der....
Agradeço pela ajuda ^^
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)