A idéia do teu componente é muito boa, mas se vc usa o GExperts ele tem uma 
função que faz isso que vc quer... Troca os componentes de uma classe para a 
outra e ainda gera um log de tudo o que foi alterado.

Se entendi bem, acho que é o que você está procurando...

[]'s
Ricardo.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.

3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

--- Em seg, 27/7/09, Jeferson Menegon <jeferson_mene...@yahoo.com.br> escreveu:





 




    
                  O meu problema é o seguinte, tenho um ERP, com mais de 80 
DataModulo. Não

tenho idéia de quantas QUERY tem o projeto.



A idéia seria mudar no DFM  e o PAS em (designer) ,  alterando na unha é

normal, funciona, já realizei um teste em uma tela e funcionou.



Até onde eu estou vendo três soluções.



1 – FindReplace PAS e DMF.



2 – Remover todos os Fields da query do tipo numérico e adicionar novamente

e



3 –Fazer um componente que altere essa classe (Um robô onde adiciono no

DataModulo e o mesmo altera).



código:



------------ --------- --------- --------- --------- --------- -

------------ --------- --------- -----



unit AlteraField;



interface



uses



SysUtils, Classes;



type



TAlteraField = class(TComponent)



private



{ Private declarations }



falterar : boolean;



procedure ProcAlterarField( value : boolean);



protected



{ Protected declarations }



public



{ Public declarations }



published



{ Published declarations }



property AlterarField : boolean read falterar write ProcAlterarField;



end;



procedure Register;



implementation



uses DB;



procedure Register;



begin



RegisterComponents( 'Standard' , [TAlteraField] );



end;



{ TAlteraField }



procedure TAlteraField. ProcAlterarField (value: boolean);



var i_conta : integer;



vComp   : TComponent;



begin



if value then



begin



for i_conta := 0 to Owner.ComponentCoun t -1  do



begin



vComp := Owner.Components[ i_conta];



if ( vComp is TFloatField ) then



begin



if ( TFloatField( vcomp).Size > 3 ) then



begin



//alterar algum propriedade ...



//caso altere alguma propriedade aqui, automaticamente altera o

DFM.



//se conseguir alterar a classe altera de maneira automatica o

PAS e DFM.



TFloatField( vcomp).Tag := 100;



end;



end;



end;



end;



falterar := false;



end;



end.



------------ --------- --------- --------- --------- --------- -

------------ --------- --------- -----



De: delphi...@yahoogrup os.com.br [mailto:delphi...@yahoogrup os.com.br] Em

nome de Rubem Rocha

Enviada em: segunda-feira, 27 de julho de 2009 13:27

Para: delphi...@yahoogrup os.com.br

Assunto: RES: [delphi-br] É possível alterar a classe de um objeto já criado

?

Prioridade: Alta



Até onde me consta, isto vai contra o que se propõe a programação orientada

a objetos. Imagine a seguinte hierarquia de classe:



Animal -> Mamífero -> Carnívoro -> Canídeo -> Cão

Animal -> Mamífero -> Carnívoro -> Humanídeo -> Homem



Como pode criar um objeto de uma classe e depois, do nada, querer que ele

seja de uma outra classe? Tomando o exemplo acima, como um homem, do nada,

pode se tornar um cão? Isso é ilógico!



Sds.



De: delphi...@yahoogrup os.com.br <mailto:delphi- br%40yahoogrupos .com.br>

[mailto:delphi...@yahoogrup os.com.br <mailto:delphi- br%40yahoogrupos .com.br>

] Em

nome de Jeferson Menegon

Enviada em: segunda-feira, 27 de julho de 2009 11:33

Para: delphi...@yahoogrup os.com.br <mailto:delphi- br%40yahoogrupos .com.br> 

Assunto: [delphi-br] É possível alterar a classe de um objeto já criado ?



Boa tarde!

Gostaria de saber se é possível alterar a classe de um

objeto já criado? 

Porque estamos fazendo uma analise de impacto para migrar do

Delphi 6 para o Delphi 2007. A necessidade seria para os campos que a

decimal é

maior que TRES (3). Hoje o tipo de dados

é TFloatField teríamos que trocar para

TFMTBcdField.

Desde já agradeço.



         
        
        








        


        
        


      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a