On Wed, 26 May 2004 12:58:19 +0000, fenix wrote: > Well Soft References are used in many places in COM (for example D3D > textures/surfaces use it on windows)
OK :) I have not seen this technique before, but then I've never implemented lots of COM objects all working together. > I can't have a backtrace as i can't get winedbg working correctly on > installshield programs :( But i'll send you the traces later (when i'll > be back home). What does winedbg do/not do? I've been able to use it with InstallShield before: you may have to attach to it after the program has started though. > For what i have see it's a problem of ITypeInfo::Invoke when it should > returns a Pointer to an IUnknown Variant. InstallShield complains about > Objects References not set !! Yes, this problem has plagued us for ages. It seems to be a race condition of some sort, Marcus has debugged this extensively. By "should return a pointer to an IUnknown variant" do you mean that pVarResult should hold a VT_UNKNOWN variant? Do you know what function/property it's trying to use? > Yes, but as the code of ITypeLib2/ITypeInfo don't seems thread safe at > all ... (anyway i'll fix it) :) Yeah I know :) It just seems that we might as well write new code to be thread safe so when somebody comes to make it thread safe they have less work to do ... > No, i have only to no have a lot of debug traces (i have added on my > tree) on Variant* Operations when clearing already empty Variants OK, that makes sense. thanks -mike