http://bugs.winehq.org/show_bug.cgi?id=3752
Summary: _copy_arg TKIND_DISPATCH unhandled for target vt 0x8. Product: Wine Version: CVS Platform: All URL: http://www.ExpressPCB.com OS/Version: other Status: NEW Severity: normal Priority: P2 Component: wine-ole AssignedTo: wine-bugs@winehq.org ReportedBy: marcus@jet.franken.de CC: srmcqueen@mcqueentech.com
------- Additional Comment #5 From Steven R. McQueen 2005-08-31 05:23 ------- I have encountered this bug running the ExpressSCH.exe and ExpressPCB.exe programs that can be downloaded as freeware from http://www.ExpressPCB.com. I was running the 20050524 version in a Fedora 4 system. The bug is 100% reproducible, even when attempting to run with native DLL's. Native DLL's give a different sequence of error messages, but it seems to be approximately the same problem.
... Marcus says:
Not the same problem. At one point of time the program does:
trace:ole:ITypeInfo_fnInvoke (0x57ab5f50) (0x55918980,id=3,flags=0x00000003,0x55c 0f704,0x55c0f8b4,0x55c0f6e4,0x55c0f714) partial stub! trace:ole:dump_DispParms args=1 named args=0 trace:ole:dump_Variant 0x55c0f78c->{VT_BSTR,L"MoveToTopLayer"} trace:ole:ITypeInfo2_fnGetFuncIndexOfMemId (0x57ab5f50) memid 0x00000003 invKind 0x0003 -> SUCCESS trace:ole:ITypeInfo_fnGetFuncDesc (0x57ab5f50) index 4 trace:ole:ITypeInfo_fnInvoke invoking: memid is 00000003 Param 0: tdesc.vartype 26 (ptr to ptr to VT_USERDEFINED ref = c1c) u.parmadesc.flags a u.parmadesc.lpex (nil) funckind: 1 (pure virtual) invkind: 2 (property get) callconv: 4 (stdcall) oVft: 44 cParamsOpt: 0 wFlags: 0 elemdescFunc (return value type): tdesc.vartype 25 (VT_HRESULT) u.parmadesc.flags 0 u.parmadesc.lpex (nil) 0009:Call ntdll.RtlAllocateHeap(558b0000,00000000,00000010) ret=55f4b817 0009:Ret ntdll.RtlAllocateHeap() retval=57acbed0 ret=55f4b817 0009:Call ntdll.RtlAllocateHeap(558b0000,00000000,00000008) ret=55f4b876 0009:Ret ntdll.RtlAllocateHeap() retval=57ac8580 ret=55f4b876 0009:Call ntdll.RtlAllocateHeap(558b0000,00000008,00000000) ret=55f4b8a1 0009:Ret ntdll.RtlAllocateHeap() retval=57acc488 ret=55f4b8a1 trace:ole:ITypeInfo_fnGetContainingTypeLib returning pIndex=28 trace:ole:ITypeLib2_fnAddRef (0x55947688)->ref was 4 trace:ole:ITypeInfo_fnGetContainingTypeLib returning ppTLib=0x55947688 trace:ole:ITypeLib2_fnGetTypeInfo (0x55947688)->(index=31) trace:ole:ITypeLib2_fnAddRef (0x55947688)->ref was 5 trace:ole:ITypeInfo_fnAddRef (0x559673c8)->ref is 2 trace:ole:ITypeLib2_fnGetTypeInfo -- found (0x559673c8) trace:ole:ITypeLib2_fnRelease (0x55947688)->(5) trace:ole:ITypeInfo_fnGetRefTypeInfo (0x57ab5f50) hreftype 0x0c1c loaded SUCCESS (0x559673c8) trace:ole:ITypeInfo_fnGetTypeAttr (0x559673c8) 0009:Call ntdll.RtlAllocateHeap(558b0000,00000000,0000004c) ret=55f478ca 0009:Ret ntdll.RtlAllocateHeap() retval=57acc4a0 ret=55f478ca fixme:ole:_copy_arg TKIND_DISPATCH unhandled for target vt 0x8.
the userdefined is apparently a TKIND_DISPATCH ... but is not VT_BSTR convertible.