On Tuesday 09 December 2003 20:02, Mike Hearn wrote:
On Tue, 09 Dec 2003 18:22:04 +0000, Andrew de Quincey wrote:
Next up is some reference count problem; the ITypeLib interface seems to get destroyed too early.
Hmmm. I seem to recall posting a patch that fixed a similar issue (but in the wrong way) a few months ago. I think TypeInfo was not reffing its containing TypeLib or something like that. I don't remember if it was fixed by somebody else or not.... sorry I can't be more help, but that might be somewhere to start looking.
Yeah, I've played with it under windows... an ITypeInfo is supposed to AddRef() the ITypeLib ONCE when its retrieved using things like ITypeLib.FindName(). (when you release it, you do it just once as well, when the original refcount at which it was AddRef()ed is reached). This ain't happening. Yet.
I've also found a number of other bugs in that file; specifically theres a lot of confusion between BSTR and OLESTR going on, which really really knackers things. Easy to do though: they've just confused the hell out of me!! So a BSTR is the same type as an OLESTR to the C compiler, EXCEPT it has a fancy hidden DWORD before the actual buffer giving the number of bytes used! Thats not at all confusing is it?