On Sun, 30 Jan 2005, Alexey Barkovoy wrote:
> ----- Original Message ----- > From: "Florian Klaempfl" <[EMAIL PROTECTED]> > > >> For example "DECLARE_INTERFACE_(IClassFactory, IUnknown)" in C++ is > >> expanded > >> to "struct FAR IClassFactory : public IUnknown", so really public parts of > >> VMT (with positive offset) are always [should be] compatible. Surely we > >> can't > >> talk about FULL compatibility of classes, but exposing "interfaces" to > >> other > >> languages should be possible. > > > > Use raw interfaces for such a purpose. > > Problem is here: > > >> Problem here is what I'm forced to use some these COM incompatibe > >> "interfaces" exposed by MS programmers in DirectX API. These interfaces > >> look > >> like real COM interfaces but without IUnknown embedded. In Delphi I can use > >> them just by creating abstract class just like in C++, but in FPC it's > >> impossible to do so. And I've seen other reports when people were forced to > >> use similiar cripped interfaces exposed by C++ programmers. So it's the > >> real > >> problem not just artificial one. > > Delphi and FreePascal simplest interfaces already includes IUnknown. So using > raw interfaces is incompatible here too. No. You could try to use CORBA interfaces, they don't have IInterface (or IUnknown) as the parent. There is a compiler switch for this. Michael. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel