Definir componentes de um form como private
05/06/2008
0
Preciso colocar os componentes de um determinado form (um Label, um ComboBox, e dois botões) como private, para que os oustros forms da aplicação não possam acessá-los diretamente e sim através de métodos definidos na classe TInputFormCombo (a qual o formulário pertence).
Mas toda vez que tento colocar os componentes como private aparece a seguinte mensagem de erro:
´Class TLabel not found´.
Alguém pode ajudar?
Obrigado.
Mas toda vez que tento colocar os componentes como private aparece a seguinte mensagem de erro:
´Class TLabel not found´.
Alguém pode ajudar?
Obrigado.
Jonathan Bispo
Curtir tópico
+ 0
Responder
Posts
05/06/2008
Massuda
A princípio, isso não é possível. O designer do Delphi precisa que os componentes de um form sejam declarados como públicos caso contrário ele não será capaz de acessá-los e você não poderá mais trabalhar ´visualmente´ com o componente.
Para fazer o que você deseja, você terá que criar o componente em tempo de execução e se responsabilizar por configurar e posicionar o componente no form.
Para fazer o que você deseja, você terá que criar o componente em tempo de execução e se responsabilizar por configurar e posicionar o componente no form.
Responder
06/06/2008
Adoniram
Para vc conseguir evitar esse erro, vc deve registrar a classe antes.
crie uma sessão initialization no final da unit e coloque o seguinte:
RegisterClass(TLabel);
No create do form vc deve atribuir o recurso do componente a variável que foi declarada como private:
Ex.: label1 := FindComponent(´label1´);
crie uma sessão initialization no final da unit e coloque o seguinte:
RegisterClass(TLabel);
No create do form vc deve atribuir o recurso do componente a variável que foi declarada como private:
Ex.: label1 := FindComponent(´label1´);
Responder
Clique aqui para fazer login e interagir na Comunidade :)