Definir componentes de um form como private
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
Curtidas 0
Respostas
Massuda
05/06/2008
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.
GOSTEI 0
Adoniram
05/06/2008
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´);
GOSTEI 0