Thanks Thaddy, but .. (now this might sound stupid but..) it executes Class2 static procedure even though the variable is declared as type class1 (parent) variable, should that not be possible if Virtual Method Table isn't created?
I was mistaken. class methods have their own VMT as per the above link.In trunk I get the expected error:Code: Bash [Select][+][-]fpc -Fl/usr/lib/gcc/arm-linux-gnueabihf/6.3.0 -Fu/usr/local/lib/fpc/3.1.1/units/arm-linux/* -Fu/home/pi/synapse/ "vmtstatic.pas" (in directory: /home/pi)Compiling vmtstatic.pasvmtstatic.pas(6,47) Error: Procedure directive "STATIC" cannot be used with "VIRTUAL"vmtstatic.pas(9,49) Error: Procedure directive "STATIC" cannot be used with "VIRTUAL"vmtstatic.pas(29) Fatal: There were 2 errors compiling module, stoppingFatal: Compilation abortedError: /usr/local/bin/ppcarm returned an error exitcodeCompilation failed. Maybe 3.0.4. simply ignores and drops static.