OLEAUT32: bug 4502 - request for comment before trying to fix

Alex Villací­s Lasso a_villacis at palosanto.com
Wed Mar 15 09:36:02 CST 2006

Robert Shearman wrote:
> The fix is to do the following in the conversion loop in 
> ITypeInfo::Invoke:
> if (rgvt[i] == VT_VARIANT)
>    VariantCopy(&rgvarg[i], src_arg);
> else if ((rgvt[i] & VT_BYREF) && !V_ISBYREF(src_arg))
> ...
> I don't have time to put this into patch form and test it, but 
> hopefully someone else will.
I tried this on the test app. It did not work. Sure, the code reaches 
the DispCallFunc call, but then the actual code from inside the control 
fails the call. It seems that the type of the variant is not adequate 
for the parameter. Visual Basic shows a message: "Application-defined or 
user defined error". It seems that I will have to wait until I code 
enough of a test case for a *successful* ITypeInfo::Invoke() (there are 
two tests of failing calls, but none of a successful one), so that I can 
see what native OLEAUT32.DLL is sending as the parameter. Unless 
somebody else beats me on this.

Alex Villacís Lasso

More information about the wine-devel mailing list