O pai quer por a mão na herança do filho
Olá pessoal.
Estou com a seguinte duvida: é possivel um formulário pai chamar uma função que só irá ser definida em um formulário filho? (todo filho possui a função, mas com comandos diferentes)
Agradeço antecipadamente
Estou com a seguinte duvida: é possivel um formulário pai chamar uma função que só irá ser definida em um formulário filho? (todo filho possui a função, mas com comandos diferentes)
Agradeço antecipadamente
Flaviosan
Curtidas 0
Respostas
Flaviosan
20/04/2004
Deixa eu reformular a pergunta: é possivel criar uma função no formulário pai e em cada filho a função ter o conteudo diferente?
GOSTEI 0
Lucas Silva
20/04/2004
Dá sim..
Olha o código
Olha o código
procedure Tform1.Button1Click(sender: Tobject); begin if ActiveMDIChild is TfrmFilho then (ActiveMDIChild as TfrmFilho).BtnCalcular.Click(); end;
GOSTEI 0
Lucas Silva
20/04/2004
Deixa eu reformular a pergunta: é possivel criar uma função no formulário pai e em cada filho a função ter o conteudo diferente?
procedure Verificar; [b:0721183d3b]virtual[/b:0721183d3b]; [b:0721183d3b]abstract[/b:0721183d3b]; // isso você coloca no pai.
// virtual pq vai ser implementadas em classes filhas, e abstract é pq não tem nada implementado na classe pai.
para os filhos você coloca
procedure verificar; [b:0721183d3b]override[/b:0721183d3b];
Seria isto?
GOSTEI 0
Flaviosan
20/04/2004
Isso mesmo :P
Me explica uma coisa: na função do form pai eu coloco as duas coisas, virtual e abstract?
Valeu cara.
Me explica uma coisa: na função do form pai eu coloco as duas coisas, virtual e abstract?
Valeu cara.
GOSTEI 0
Lucas Silva
20/04/2004
No form pai você cria a função.
[b:3fcc81ab41]Virtual[/b:3fcc81ab41], quer dizer que ela poderá ser implementada em classes filhas.
[b:3fcc81ab41]Abstract [/b:3fcc81ab41]quer dizer que no form pai, ela não irá ser implementada.
Assim:
// no form1
funcion ValidaAlgumaCoisa(): String; [b:3fcc81ab41]virtual[/b:3fcc81ab41]; [b:3fcc81ab41]abstract[/b:3fcc81ab41];
// no form filho;
function ValidaAlgumaCoisa(): String; [b:3fcc81ab41]override[/b:3fcc81ab41];
[b:3fcc81ab41]Virtual[/b:3fcc81ab41], quer dizer que ela poderá ser implementada em classes filhas.
[b:3fcc81ab41]Abstract [/b:3fcc81ab41]quer dizer que no form pai, ela não irá ser implementada.
Assim:
// no form1
funcion ValidaAlgumaCoisa(): String; [b:3fcc81ab41]virtual[/b:3fcc81ab41]; [b:3fcc81ab41]abstract[/b:3fcc81ab41];
// no form filho;
function ValidaAlgumaCoisa(): String; [b:3fcc81ab41]override[/b:3fcc81ab41];
GOSTEI 0
Lucas Silva
20/04/2004
Que moderador, moveu este tópico pra cá (botequim do debug)?
Não seria melhor, esta msg continuar no fórum de delphi???
Não seria melhor, esta msg continuar no fórum de delphi???
GOSTEI 0
Aroldo Zanela
20/04/2004
Colegas,
Na verdade fiquei na dúvida em remover, enviar para lixeira, e havia resolvido deixar no botequim, afinal, o tópico criativo merece um destaque em meios às nossas pérolas.
[b:4ac81e4b2f][color=red:4ac81e4b2f]Bloqueado pelo Moderador (AZ) - Leia as regras.[/color:4ac81e4b2f][/b:4ac81e4b2f]
Na verdade fiquei na dúvida em remover, enviar para lixeira, e havia resolvido deixar no botequim, afinal, o tópico criativo merece um destaque em meios às nossas pérolas.
[b:4ac81e4b2f][color=red:4ac81e4b2f]Bloqueado pelo Moderador (AZ) - Leia as regras.[/color:4ac81e4b2f][/b:4ac81e4b2f]
GOSTEI 0