Problemas com Herança de Formulários
06/07/2004
0
Crio vários formulários(FILHOS), que são herdados desse que me referi acima.
Em um terceiro formulário, quando chamo qualquer um dos FILHOS, é dado uma mensagem de erro, informando que existe um componente com o mesmo nome.
É dado um EComponentError, com a mensagem ´Um componete XXXX já existe´.
Já modifiquei os nomes de alguns compontentes para evitar a duplicidade de nomes em formulários diferentes (algo do tipo Panel1, pois são componentes ´de enfeite´), mas ainda assim, continua dando a mensagem de erro.
Pelo que pude perceber, só consiguiria fazer funcionar se criasse nomes únicos para cada componente dos formulários que se relacionam, ou seja, se o formulário pai tem um botão chamado Salvar, o terceiro formulário, não poderia ter um botão com este nome também.
Não consigo ´enxergar´ onde está o problema.
Toda ajuda será bem vinda.
Daaneto
Posts
06/07/2004
Rômulo Barros
Pelo contrário: Quando vc criar novos formulários a partir de um formulário base(pai), os componentes desses formulários [b:dceeb92869]terão o mesmo ´name´[/b:dceeb92869] que os componentes do formulário pai
07/07/2004
Daaneto
Disse:
Pelo que pude perceber, só consiguiria fazer funcionar se criasse nomes únicos para cada componente dos formulários que se relacionam, ou seja, se [b:9b9930d17d]o formulário pai[/b:9b9930d17d] tem um botão chamado Salvar, [b:9b9930d17d]o terceiro formulário[/b:9b9930d17d], não poderia ter um botão com este nome também.
Ou seja, são os componentes do terceiro formulário (que não é herdado de nenhum outro formulário) e do formulário pai que tem nomes iguais e que está dando aquela mensagem de erro (EComponentError) logo quando mando criar qualquer um dos formulários filhos.
Os nomes dos componentes dos formulários pai/filhos são iguais sim.
07/07/2004
Paulo_amorim
Olá
Nao creio que o problema seja esse, pois se o 3° formulario nao eh herdado, a referencia aos objetos desse eh diferente do Form pai
supondo 2 forms: frmPai e frmIndependente
um objeto btbTeste nos 2 forms não seriam duplicados, pois têm endereços diferentes (lógicos e de memória)
frmPai.btbTeste e frmIndependente.btbTeste
Quando acontecia isso comigo eu apagava e criava outro... :roll:
Espero que ajude
Até+
Clique aqui para fazer login e interagir na Comunidade :)