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.


Jonathan Bispo

Jonathan Bispo

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.


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´);


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar