GARANTIR DESCONTO

Fórum inherited em function #329960

23/09/2006

0

o inherited não pode ser utilizado nas funções??

eu tinha em um form padrao um procedimento virtual que eu declarava nos herdados e colocava o override.
resolvi mudar para uma function, mas no código onde tinha inherited ocorre um erro.

pq não é permitido utilizar inherited nas function´s?


Raserafim

Raserafim

Responder

Posts

23/09/2006

Marco Salles

acredito que sim Raserafim . desde que voce forneça explicitamente os paramentros

assim

function Tfilho.MeuMetodo(p:Paramentrros): string; begin inherited MeuMetodo(p); end;



Responder

Gostei + 0

23/09/2006

Cesar Romero

o inherited clama o mesmo método da classe superior com os mesmos parâmetros, se você mudou para uma função, então você está fazendo um overload (polimorfismo), para chamar a procedure da classe superior vc deve passar a assinatura na chamada, como Marco Salles sugeriu.

[]s


Responder

Gostei + 0

23/09/2006

Raserafim

humm, entendi.

valeu cesarliws, valeu marco salles,

depois vou fazer o teste


Responder

Gostei + 0

23/09/2006

Michael

Complementando a resposta do colega [b:eca2d6de8d]Marcos Salles[/b:eca2d6de8d], vc deve atribuir o valor de retorno de [b:eca2d6de8d]inherited [/b:eca2d6de8d]à variável [b:eca2d6de8d]Result [/b:eca2d6de8d](ou outra qualquer) na sua nova função:

function TFilho.MeuMetodo(P: Parametro): string;
begin
  Result := inherited MeuMetodo(P);
  // Faz alguma coisa com Result
end;


[]´s


Responder

Gostei + 0

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

Aceitar