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