Criar função no form herdado, que já existe no FormPai
Olá amigos,
Utilizo um formulário de consulta padrão. Nele, não ligado a nenhum componente, tenho uma função chamada SelecDados, que a chamo em diferentes partes deste FormPai de Consultas.
Em uma consulta específica, usando como herança esse FormPai, quero que essa função faça alguma coisa diferente.
Como faço para que no novo form, eu possa alterar seu comportamento?
Nos eventos é tranquilo, pois sempre que quero alterar utilizo:
Mas em uma função que não está ligada a eventos, não descobri como fazer.
Agradeço a atenção.
Mario
Utilizo um formulário de consulta padrão. Nele, não ligado a nenhum componente, tenho uma função chamada SelecDados, que a chamo em diferentes partes deste FormPai de Consultas.
Em uma consulta específica, usando como herança esse FormPai, quero que essa função faça alguma coisa diferente.
Como faço para que no novo form, eu possa alterar seu comportamento?
Nos eventos é tranquilo, pois sempre que quero alterar utilizo:
if DeterminadaSituacao then FacaIsso else inherited;
Mas em uma função que não está ligada a eventos, não descobri como fazer.
Agradeço a atenção.
Mario
Aldus
Curtidas 0
Respostas
Mayron Cachina
12/11/2007
vc pode reescrever o método...
exemplo, vc tem o método Soma() no form pai e vc quer um método que vc passe os parametros, vc pode fazer o Somar(a:integer,b:integer)
entendeu?
exemplo, vc tem o método Soma() no form pai e vc quer um método que vc passe os parametros, vc pode fazer o Somar(a:integer,b:integer)
entendeu?
GOSTEI 0
Aldus
12/11/2007
Olá Mayron,
Na verdada, a função genérica que está no formpai é um select com múltiplas opções, e quero no form novo, criar um select totalmente diferente do formpai, não dá pra passar parâmetro, até porque vou utilizar dados da aplicação atual, que não são vistos pelo formpai.
Obrigado
Na verdada, a função genérica que está no formpai é um select com múltiplas opções, e quero no form novo, criar um select totalmente diferente do formpai, não dá pra passar parâmetro, até porque vou utilizar dados da aplicação atual, que não são vistos pelo formpai.
Obrigado
GOSTEI 0
Dbergkamps10
12/11/2007
Ola,
não consegui entender o seu problema. Porém, tente ao adicionar o form, marcar a opção Copy, ao invés de inherited. Isso talvez pode ajudar, pq assim vc conseguira alterar o source.
Att
DAlton
não consegui entender o seu problema. Porém, tente ao adicionar o form, marcar a opção Copy, ao invés de inherited. Isso talvez pode ajudar, pq assim vc conseguira alterar o source.
Att
DAlton
GOSTEI 0
Rodc
12/11/2007
Bem vindo à orientação à objetos!!!!
Declare a função que você quer sobrescrever com ´override´ que as chamadas feitas na função da filha não vão mais chamar a função da classe pai.
Declaração no pai:
Declaração no filho:
Caso você queira chamar a função do pai, e não o filho, use o inherited.
Implementação no filho:
Declare a função que você quer sobrescrever com ´override´ que as chamadas feitas na função da filha não vão mais chamar a função da classe pai.
Declaração no pai:
procedure Soma();
Declaração no filho:
procedure Soma(); override;
Caso você queira chamar a função do pai, e não o filho, use o inherited.
Implementação no filho:
procedure Soma(); begin inherited; // executa a função do pai que está sendo sobrescrita // funções referentes ao filho end;
GOSTEI 0
Aldus
12/11/2007
Bom dia, era isso mesmo que eu queria, funcionou bleza.
Obrigado pela atenção.
Obrigado pela atenção.
GOSTEI 0