Fiz um esquema bem prático. Criei uma classe que é a factory de queries e nessa classe factory há um método estático (class method) pra registrar (ou associar) uma classe de conexão com uma função que se encarregará de instanciar a classe de consulta correta para o tipo de conexão.
Depois disso, criei uma unit que fará o registro dos tipos de conexão e classe de consulta respectiva que minha aplicação poderá utilizar. Ficou bem prático. Tô montando um exemplo de uso disso e assim que estiver pronto, eu vou postar na área de arquivos da lista pro povo poder atestar a técnica. Sds. De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Roni Rodrigo Enviada em: terça-feira, 10 de agosto de 2010 12:06 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Re: Como Associar 2 Classe a uma variavel se vc quer só criar as querys, pode usar uma factory: TQueryFactory = class class function CreateQry(ConnType: ???): TDataSet; end; implementation class function TQueryFactory.CreateQry(ConnType: ??): TDataSet; begin if ConnType = ctBDE then Result := TQuery.Create(nil) else if FConnType = ctUniDac then Result := TUniQuery.Create(nil); end; ai vc constroi as classes usando a factory: q := TQueryFactory.CreateQry(FConnType); mas dentro da factory, como disse o Márico, vc vai ter que ter um "if" ou "case" pra checar qual o tipo de conexão.... o/ Em 09/08/2010 15:25, NTS INFORMÁTICA escreveu: > > Eric, > Na verdade, muitos metodos são comuns as 3 ou mais classes que eu > fosse trabalhar, para a conexao com meu dicionario de dados., tenho > que fazer isso para compatibilidade de conexões com BDE. > > Então eu aproveitaria muita linha de codigo no meu dicionario de dados. > > q.DataBaseName // Metodo Somente na Tquery ( Derivado da TDataBase ) > > q.Connection // Metodo Somente na TUniQuery ( Derivado da TUniConnection ) > > q.Connection // Metodo Somente na TAdoiQuery ( Derivado da > TAdoConnection ) > > // todos os demais metodos são iguais > q.SQL > q.Open > q.Close > > ----- Original Message ----- > From: eric_developer > To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br> > Sent: Sunday, August 08, 2010 9:18 PM > Subject: [delphi-br] Re: Como Associar 2 Classe a uma variavel > > Marcio, > > não vejo sentido lógico no pedido, o IF será necessário mesmo que > tivesse chamando somente uma classe, ainda teria que testar FConnType. > > Eric Developer Systems > > --- Em delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > <mailto:delphi-br%40yahoogrupos.com.br>, NTS INFORMÁTICA <ntsi...@...> > escreveu > > > > Amigos, existe alguma forma ou maneira para associar classes > diferentes a uma variavel, pois > > muito metodos sao comuns as 2 classes, e outro não, isso seria muito > bom para evitar IFs > > > > Exemplo Abaixo ? > > > > l > > var > > q : TComponent; > > i : Integer; > > begin > > > > if FConnType = ctBDE then q := TQuery.Create(nil); > > if FConnType = ctUniDac then q := TUniQuery.Create(nil); > > > > > > Márcio > > > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]