<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2016-12-07 9:45 GMT+01:00 Arnaud Bouchez <span dir="ltr"><<a href="mailto:webcontact01@synopse.info" target="_blank">webcontact01@synopse.info</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-m_-4266525900699504018gmail-:3x8" class="gmail-m_-4266525900699504018gmail-a3s gmail-m_-4266525900699504018gmail-aXjCH gmail-m_-4266525900699504018gmail-m158d8d11357e9acd">Don't forget that there is some working code of interface "Invoke" and "fake" in mORMot.pas:<br>
- working with FPC_HAS_EXTENDEDINTERFACERTTI or manual-registered RTTI,<br>
- x86 and x64 support on Windows and Linux ABI<br>
- ARM 32-bit and 64-bit (preliminary) support<br>
- well tested under Windows, good coverage under Linux, preliminary testing under *BSD.<br>
<br>
"Invoke" is indeed only half the way.<br>
Creating "fake" interfaces are also needed for any modern<br>
<br>
It is not using TValue, but currently JSON serialization, working with by-representation transfer (e.g. objects are transmitted by field values, not class instance).<br>
It was design to be extended to support a TValue-like input and output.<br>
<br>
It currently lacks some less common targets (CPU & ABI).<br>
But could be used as a starting point.</div></blockquote></div><br>Good idea with "mORMotish starting point" (especially that licence is compatible with FPC RTL and we have proven code behind), we can wait for Sven (RTTI.pas module on official trunk). Next we can start on NewPascal new branch "fpc-rtti-invoke". Created directly from FPC trunk mirror ( <a href="https://github.com/newpascal/freepascal/tree/freepascal">https://github.com/newpascal/freepascal/tree/freepascal</a> ). It could be merged to NewPascal release directly for tests purposes and for more users and for early access. Finally it could be merged as series of patches to official trunk.<br></div><div class="gmail_extra"><div><br></div>-- <br><div class="gmail-m_-4266525900699504018gmail_signature"><div dir="ltr"><div>Best regards,<br>Maciej Izak</div></div></div>
</div></div>