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

21/11/2003

0

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

Responder

Post mais votado

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!


Rafael Heise

Rafael Heise
Responder

Mais Posts

22/11/2003

Lordglacius

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


Responder

22/11/2003

Lordglacius

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


Responder

24/11/2003

Rafael Heise

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!


Responder

26/01/2019

Programador

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!
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar