On Sat, Aug 28, 2004 at 11:06:46PM +0200, Filip Navara wrote:
Mike Hearn wrote:
It basically involves implementing the ICreateTypeLib interfaces in our OLE dlls. Nyef did some great work on this but for stdole32.tlb we need the other version, I think.
Can you elaborate more please? Looking at dlls/oleaut32/typelib2.c I see that the ICreateTypeLib2 interface is implemented.
The ICreateTypeLib2 interface is used to create the new-style MSFT typelibs. The older ICreateTypeLib interface is used for the old-style typelibs. While the newer interface also implements the older one, when you ask for the old interface with CreateTypeLib() you get a completely different implementation.
I don't see why it necessarily follows that stdole32 wouldn't work as an MSFT typelib, but the implementation of ICreateTypeInfo2 is badly incomplete in places, and I would trust it to completely mess up any semi-complex type library you attempt to create with it. Specifically, any type library that involves functions or variables.
Regards, Filip
--Alastair Bridgewater