Fórum Variáveis públicas perdendo conteúdo na herança!!! #229133
30/04/2004
0
Estou com um problema que está me deixando com os cabelos em pé!
É o seguinte... tenho um form chamado ´GenTela´ a partir do qual herdo todos os outros. Contudo, em um determinado formulário chamado ´Orca´ que está acontecendo algo estranhíssimo.
Neste form (como em todos os outros), passo alguns parâmetros para três variáveis declaradas como públicas (NomeTab e NomeAtribChave), declaradas no form GenTela. Bem, algumas linhas após passar os valores para essas variáveis públicas, chamo um trecho do GenTelas usando [b:de217683e2]inherited[/b:de217683e2].
Coloquei dois breakpoints no programa, um na última linha antes de chamar o [b:de217683e2]inherited[/b:de217683e2], e outro logo após a chamada do [b:de217683e2]inherited[/b:de217683e2]. No primeiro breakpoint, todos os valores estão lá, nas variáveis. No segundo breakpoint, eles simplesmente se foram!
O mais estranho de tudo é que eu pensei que pudesse ter alguma coisa a ver com a herança. Então, só para testar, declarei uma nova variável pública chamada temp. E repeti o processo. Adivinhem: todos os valores foram perdidos, mas o valor passado para temp está lá!!!!
Não é de enlouquecer????
Alguém tem alguma idéia???
Valeu! :?:
[b:de217683e2][color=red:de217683e2]Título excepcionalmente não excluído. Removido: ´Socorro!!´ (AZ)[/color:de217683e2][/b:de217683e2]
Yankleber
Curtir tópico
+ 0Posts
30/04/2004
Beppe
Gostei + 0
01/05/2004
Yankleber
Outra coisa estranha, é que isso não acontece com os outros formulários herdados do programa, mas somente o Orca.
Outra coisa estranha, é que uma variável que eu criei depois, chamada ´temp´ - declarada no mesmo lugar onde eu declarei as variáveis que perdem seus conteúdos - não perde.
Cara, isso está me deixando louco!!!!
Gostei + 0
01/05/2004
Beppe
Gostei + 0
01/05/2004
Yankleber
Eu sou novatoem Delphi...
Grato!
Gostei + 0
01/05/2004
Beppe
Se naum conhece, este naum deve ser o problema...
mas vejamos, typecast é afirmar pro Delphi que uma expressão é de outro tipo. Isto as vezes é útil, principalmente no Delphi, na verdade, naum é um mal necessário, mas uma compensação. Uma typecast maliciosa seria afirmar o tipo errado:
var I Integer; L: TList; begin I := 1234567890; L := TList(I); // ocerrerá um erro se usar L, já que provavelmente não existe // um objeto TList(ou descendente) no endereço indicado por I. end;
Gostei + 0
01/05/2004
Yankleber
O caso é o seguinte: é um projeto de faculdade, o professor deu para a gente um ´esqueleto´ de um programa pronto para a gente trabalhar em cima. Eu já tenho uma grande experiência com programação há muitos anos mas costumo trabalhar com VB. O caso é que o professor tem um estilo de programação que eu não acho muito legal (ele utiliza componentes do tipo databound, que eu acho pouco profissional), e como eu não tenho prática com Delphi estou apanhando à beça!
Acaba que estou ficando frustrado e desanimado, pois já bati cabeça pra caramba em cima desse problema e não consegui descobrir o que há de errado.
Se eu lhe mandasse o meu projeto você daria uma olhada nele para mim?
PS: Só se isso não for te causar transtorno.
Grato!
Gostei + 0
01/05/2004
Beppe
Gostei + 0
01/05/2004
Aroldo Zanela
Colega,
Poste o fragmento de código no fórum, pois você aumenta as changes de ter seu problema solucionado por mais pessoas, bem como, poderá ser útil para outros no futuro.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)