Array
(
)

FindComponent de dentro de um procedure de uma outra classe

Raserafim
   - 23 nov 2005

no meu form criei uma outra classe, que quando executo um determinado procedimento dela preciso chamar o método FindComponent para alterar algum valor do componente localizado que está no form.
no entanto ao chamar o FindComponent dentro do procedimento da classe criada aparece o erro dizendo: ´ undeclared identifier: ´FindComponent´ ´

Como faço para alterar a propriedade de um componente que está no Form através do FindComponent sendo chamado de uma outra classe?

quando estou no form uso a seguinte linha
#Código


TPanel(FindComponent(´PnlAcao´ + inttostr(I))).Caption := ´texto qualquer´;


mas quando tento utilizar esta mesma linha dentro da classe que criei dentro do form aí não dá certo.


Raserafim
   - 26 nov 2005

como não achei uma solução para executar de dentro da classe, arrangei uma outra solução.
Criei um procedimento no form que recebe como parâmetro qual componente a outra classe quer alterar e qual o valor a ser colocado.
assim ficou mais de acordo com os conceitos de orientação a objetos, sendo uma melhor prática de programação.


Bruno Belchior
   - 27 nov 2005

Passe o formulário como parâmetro para esse método... o FindComponente é do formulário, por isso vc não consegue acessálo na outra classe...#Código

TPanel(vParametroFormulario.FindComponent(´PnlAcao´ + inttostr(I))).Caption := ´texto qualquer´;