Problemas com Herança de Formulários
Tenho um formulário (PAI) bem básico, que define a localização de alguns botões, propriedades de formulário, como borda, estilo de centralização, entre outras coisas.
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.
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
Curtidas 0
Respostas
Rômulo Barros
06/07/2004
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.
Toda ajuda será bem vinda.
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
GOSTEI 0
Daaneto
06/07/2004
Concordo com o que você disse, mas o que falei foi outra coisa.
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.
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.
GOSTEI 0
Paulo_amorim
06/07/2004
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.
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é+
GOSTEI 0