11.08.2014 13:02, Adriano dos Santos Fernandes wrote:
> The current approach of guessing the C++ vtable is compatible between
> compilers (be it or not about COM classes) is a hack at least for
> non-Windows platforms who may use different and non-standard ABIs.

   There is nothing to be guessed about. Most compilers have internal formats 
documented. 
For Delphi VMT is documented here: 
http://docwiki.embarcadero.com/RADStudio/XE4/en/Internal_Data_Formats#Class_Types
   As you can see Delphi class layout match C++ class layout, so Delphi can 
call methods 
of C++ classes as long as it doesn't try to something more like class casting 
of object 
destroying.
   For FPC class layout doesn't match C++ layout, but CORBA-style interface - 
does.

   If you add QueryInterface() method, then binary layout will match both 
Delphi interface 
and FPC standard interface.
   I can't remember who did API translation for UIB, but he made a mistake 
using classes 
for declaration.

-- 
   WBR, SD.

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to