[fpc-pascal] How to know if a class implements a method
    Joao Morais 
    post at joaomorais.com.br
       
    Fri May 18 15:24:22 CEST 2007
    
    
  
Hello,
Any idea how I know if a class, in a class pointer, overrides a virtual 
method? Eg:
tfooclass = class of tfoo;
tfoo = class
   procedure sample; virtual;
end;
tboo1 = class(tfoo)
end;
tboo2 = class(tfoo)
   procedure sample; override;
end;
...
vfooclass := tboo1;
// vfooclass doesn't implement sample.
vfooclass := tboo2;
// vfooclass implements sample.
At this moment I know that:
1. I could cast a method pointer with tmethod if sample was a class method;
2. I could cast this same method pointer if I had an instance of vfooclass.
But is there another way beyond creating an instance?
Thanks.
--
Joao Morais
    
    
More information about the fpc-pascal
mailing list