Herança de funções de uma Frame!

Delphi

21/11/2003

Pessoal, eu desenvolve uma aplicação, onde tenho umas frames que uso como padrão para fazer as minhas coisas!
Mas agora cheguei a um impecilho.
Como eu faço para herdar uma função que criei na minha Frame pai de todas, porque eu criei a função e quero continuar escrevendo nas Filhas, mas o delphi criou um objeto no meu formulário e desse jeito não consigo herdar as funções (declaradas como virtual), para continuar a escrever meu código (esse restante varia de acordo com a form).
Alguém por acaso já passou por isso ou sabe algum jeito de resolver?
Eu ainda não pensei muitoooo nesse assunto, mas as vezes vocês já tem um dica pra esse tipo de problema!
valeu!


Rafael Heise

Rafael Heise

Curtidas 0

Melhor post

Rafael Heise

Rafael Heise

25/11/2003

Bom pessoal, consegui resolver o que eu queria, mas não do jeito que eu realmente queria.... mas até ficou melhor...
Fiz herdando a minha Frame novemente e colocando dentro dessa frame herdada o que eu precisava, e então uso essa frame herdada. Dessa form, as minhas funções que precisava ´continuar escrevendo´ ao herdar funcionou, e então blz!
è isso ae...
não tem como fazer direto na form que você está usando... somente herdando a frame criando assim mais uma frame no seu sistema, fazendo suas validações, e então usando a frame herdada!

valeu!


GOSTEI 1

Mais Respostas

Lordglacius

Lordglacius

21/11/2003

Para poder herdar as funções de uma classe pai e fazer um override na classe filha vc primeiro deve declarar a função/procedimento na classe pai como Virtual, e na classe filha como Override.

Exemplo:

TClasseA = class
public
  function Teste: Boolean; virtual;
  procedure Teste1;
end;

TClasseB = class(TClasseA)
  public function Teste: Boolean; override;
  procedure Teste1; override;
end;


Ao terminar de personalizar sua função/procedimento na classe filha, não se esqueça do ´inherited´ onde vc achar necessário para que os comandos da classe pai sejam executadas...


[]´s


GOSTEI 0
Lordglacius

Lordglacius

21/11/2003

Para poder herdar as funções de uma classe pai e fazer um override na classe filha vc primeiro deve declarar a função/procedimento na classe pai como Virtual, e na classe filha como Override. Exemplo:
TClasseA = class
public
  function Teste: Boolean; virtual;
  procedure Teste1;
end;

TClasseB = class(TClasseA)
  public function Teste: Boolean; override;
  procedure Teste1; override;
end;
Ao terminar de personalizar sua função/procedimento na classe filha, não se esqueça do ´inherited´ onde vc achar necessário para que os comandos da classe pai sejam executadas... []´s


Esqueci do virtual no procedure da classe pai... foi mals! hauhuah

TClasseA = class public function Teste: Boolean; virtual; procedure Teste1; virtual; end;


[]´s


GOSTEI 0
Rafael Heise

Rafael Heise

21/11/2003

Isso eu sei como fazer.. o meu problema é com Frames!!!

Não estou vendo como poderia herdar funções de uma Frame já que uma Frame apesar de ser como uma Form, ela é como um componente quando você usa a Frame. Então, como usar e herdar as funções de uma Frame que eu criei, e agora estou usando em uma das minhas forms!


GOSTEI 0
Programador

Programador

21/11/2003

Bom pessoal, consegui resolver o que eu queria, mas não do jeito que eu realmente queria.... mas até ficou melhor...
Fiz herdando a minha Frame novemente e colocando dentro dessa frame herdada o que eu precisava, e então uso essa frame herdada. Dessa form, as minhas funções que precisava ´continuar escrevendo´ ao herdar funcionou, e então blz!
è isso ae...
não tem como fazer direto na form que você está usando... somente herdando a frame criando assim mais uma frame no seu sistema, fazendo suas validações, e então usando a frame herdada!

valeu!


Quase 20 anos depois, me ajudou!
GOSTEI 0
POSTAR