[fpc-pascal] Calling overriden method using TMethod

Joao Morais l at joaomorais.com.br
Thu Jul 30 20:38:19 CEST 2015

On 30/07/15 15:05, Sven Barth wrote:
> Am 30.07.2015 19:00 schrieb "Joao Morais" <l at joaomorais.com.br 
> <mailto:l at joaomorais.com.br>>:
> >
> > tbar2 inherits from tbar1 and 'go' is a virtual method. v1.go calls 
> the tbar2 implementation as expected but tm(m1)() does call tbar1.go. 
> As expected. Is there a nice and safe way to use v1 instance's VMT in 
> order to call the inherited method? In the real scenario I will have 
> only the pointer of the virtual method and the instance, respectively 
> @tbar1.go and v1, and no reference to @tbar2.go
> >
> But if you have @tbar1.go and v1 you already have everything you need 
> or do I misunderstand your plan somehow?

@tbar1.go is an abstract implementation. I don't have @tbar2.go. I only 
have tbar2 as the classtype of the instance referenced by v1.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20150730/c69606cc/attachment.html>

More information about the fpc-pascal mailing list