Fórum Criar função no form herdado, que já existe no FormPai #348866
12/11/2007
0
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
Curtir tópico
+ 0Posts
12/11/2007
Mayron Cachina
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
12/11/2007
Aldus
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
12/11/2007
Dbergkamps10
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
13/11/2007
Rodc
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
14/11/2007
Aldus
Obrigado pela atenção.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)