[fpc-devel] RTTI interface & variant late binding issue (mORMot)

Arnaud Bouchez webcontact01 at synopse.info
Sat Feb 7 13:03:37 CET 2015

Just to be clear, because it sounds like there is some confusion in the 

About http://bugs.freepascal.org/view.php?id=26774

1. We do NOT need Invoke() implemented.
2. We do NOT need extended RTTI as available since Delphi 2010, nor 
features like attributes.
3. We do NOT need 100% compatibility with Delphi - it is fine to have 
some diverse data layout.
4. There should not be huge platform specific work.


1. We have our own low-level Invoke, for x86 and x64 platforms, working 
on both Windows and Linux.
Note: you can take a look at how we defined the asm stubs, in mORMot.pas 
- much better design than the RTTI.pas or RIO.pas code IMHO - see 

2. We need only the RTTI as available since Delphi 6 for IInvokable 
methods arguments.

3. We already introduced some FPC-specific code, e.g. to follow RTTI 
data alignment on platforms which demand it.

4. By design, point 2 is mostly platform-independent, and some details 
(like calling conventions) do already exist for other part of the 
existing FPC RTTI.
What is needed by this bug report is to have 
objectdef_rtti_interface_full(def:tobjectdef) implemented in ncgrtti.pas.

Any new input is welcome!


More information about the fpc-devel mailing list