Definir componentes de um form como private

05/06/2008

2

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.


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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar