http://bugs.winehq.org/show_bug.cgi?id=15896
Summary: Runtime Error '445': Object does not support this action Product: Wine Version: 1.1.7 Platform: PC URL: http://files.brothersoft.com/chat_e-mail/misc_e- mail/ExpEliteSetup.exe OS/Version: Linux Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: murdocke@gmail.com
Created an attachment (id=17058) --> (http://bugs.winehq.org/attachment.cgi?id=17058) errors logs: WINEDEBUG=warn+all
Running this software displays error Run-time error: '445': object does not support this action.
The application's window displays, but icons and menus do not respond to any clicks.
http://files.brothersoft.com/chat_e-mail/misc_e-mail/ExpEliteSetup.exe
http://bugs.winehq.org/show_bug.cgi?id=15896
Elliot murdocke@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|enhancement |normal
http://bugs.winehq.org/show_bug.cgi?id=15896
Elliot murdocke@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Runtime Error '445': Object |Exp Elite: Runtime Error |does not support this action|'445': Object does not | |support this action
--- Comment #1 from Elliot murdocke@gmail.com 2008-11-03 03:03:50 --- This is a bug in the installed software (Exp Elite) and not the installer.
http://bugs.winehq.org/show_bug.cgi?id=15896
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=15896
--- Comment #2 from Elliot murdocke@gmail.com 2008-11-09 10:32:56 --- Hello,
Has anyone been able to get to the root of this bug?
Thanks, Elliot
http://bugs.winehq.org/show_bug.cgi?id=15896
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #3 from Anastasius Focht focht@gmx.net 2008-12-11 16:39:50 --- Hello,
--- quote --- Has anyone been able to get to the root of this bug? --- quote ---
sure ... a quickie ;-)
--- snip --- 001d:trace:ole:dump_Variant 0x32f4a0->{VT_BSTR|VT_BYREF,0x32f754} 001d:trace:variant:VariantCopy (0x1b11a8->(VT_EMPTY),0x32f4a0->(VT_BSTR|VT_BYREF)) 001d:trace:variant:VariantClear (0x1b11a8->(VT_EMPTY)) 001d:trace:ole:DispCallFunc (0x1b09d8, 208, 4, 10, 5, 0x1b120c, 0x1b11f8, 0x32f2ac (vt=10)) 001d:trace:ole:DispCallFunc arg 0: type 16396, size 1 001d:trace:ole:dump_Variant 0x1b1158->{VT_VARIANT|VT_BYREF,0x1b11a8} 001d:trace:ole:DispCallFunc arg 1: type 16396, size 1 001d:trace:ole:dump_Variant 0x1b1168->{VT_VARIANT|VT_BYREF,0x1b11b8} 001d:trace:ole:DispCallFunc arg 2: type 16396, size 1 001d:trace:ole:dump_Variant 0x1b1178->{VT_VARIANT|VT_BYREF,0x1b11c8} 001d:trace:ole:DispCallFunc arg 3: type 16396, size 1 001d:trace:ole:dump_Variant 0x1b1188->{VT_VARIANT|VT_BYREF,0x1b11d8} 001d:trace:ole:DispCallFunc arg 4: type 16396, size 1 001d:trace:ole:dump_Variant 0x1b1198->{VT_VARIANT|VT_BYREF,0x1b11e8} 001d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000018) ret=60730623 001d:Ret ntdll.RtlAllocateHeap() retval=001b1220 ret=60730623 001d:trace:ole:DispCallFunc Storing arg 0 (16396 as 16396) 001d:trace:ole:DispCallFunc Storing arg 1 (16396 as 16396) 001d:trace:ole:DispCallFunc Storing arg 2 (16396 as 16396) 001d:trace:ole:DispCallFunc Storing arg 3 (16396 as 16396) 001d:trace:ole:DispCallFunc Storing arg 4 (16396 as 16396) 001d:trace:ole:_invoke Calling 0x610f36c0(001b09d8,001b11a8,001b11b8,001b11c8,001b11d8,001b11e8,) 001d:fixme:shdocvw:WebBrowser_Navigate2 Unsupported V_VT(URL) 16392 001d:trace:ole:_invoke returns 80070057 001d:trace:ole:DispCallFunc Method returned 0x80070057 001d:trace:variant:VariantClear (0x1b1158->(VT_VARIANT|VT_BYREF)) 001d:warn:ole:ITypeInfo_fnInvoke invoked function failed with error 0x80070057 ... 001d:Call KERNEL32.RaiseException(c000008f,00000001,00000002,0032f3b0) ret=66024d53 ... 001d:Call user32.LoadStringA(66000000,00002711,0032e8e4,000001f4) ret=660df8a3 001d:Ret user32.LoadStringA() retval=00000022 ret=660df8a3 001d:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0032e8e4 "Invalid procedure call or argument",ffffffff,00000000,00000000) ret=660dfa56 .. --- snip ---
Looks like the Visual Basic 6 runtime passes URL BSTR argument by reference to WebBrowser_Navigate2. To fix this, expand the validation of URL variant type to also allow (VT_BSTR|VT_BYREF). Before calling navigate_url(), just convert URL arg using VariantCopyInd() which should automagically dereference any VT_BSTR|VT_BYREF while covering the standard VT_BSTR case (URL variant passed without ref).
The navigate call will succeed then - only to display HTML error because the URL doesn't exist anymore.
When the VT_BSTR|VT_BYREF URL param problem is fixed, the app will still show "Run-time error: '445': object does not support this action." Be aware that code 445 is a generic Visual Basic error and doesn't map to a specific win32 API failure. That error is due to another webbrowser control insufficiency. Create separate bug report for it.
Anyway, this fix should also help other apps to go further.
Regards
http://bugs.winehq.org/show_bug.cgi?id=15896
--- Comment #4 from Anastasius Focht focht@gmx.net 2008-12-11 17:09:43 --- Hello again,
--- quote --- Before calling navigate_url(), just convert URL arg using VariantCopyInd() which should automagically dereference any VT_BSTR|VT_BYREF while covering the standard VT_BSTR case (URL variant passed without ref). --- quote ---
Need to get to sleep ;-) If BSTR arg is passed by reference just dereference it in place without making another copy, e.g. *V_BSTRREF(URL) without ref keep V_BSTR(URL).
Regards
http://bugs.winehq.org/show_bug.cgi?id=15896
--- Comment #5 from Anastasius Focht focht@gmx.net 2008-12-15 13:24:50 --- Hello,
when IWebBrowser2::Navigate2() impl (dlls/shdocvw/webbrowser.c) supports VT_BSTR|VT_BYREF URL arg it would look like this:
--- snip --- ... 0009:trace:ole:ITypeInfo_fnInvoke invoking: L"Navigate2"(5) parm0: L"URL" parm1: L"Flags" parm2: L"TargetFrameName" parm3: L"PostData" parm4: L"Headers" memid is 000001f4 Param 0: tdesc.vartype 26 (ptr to VT_VARIANT) u.paramdesc.wParamFlags PARAMFLAG_FIN u.paramdesc.lpex (nil) ... 0009:trace:ole:ITypeInfo_fnInvoke changing args 0009:trace:ole:dump_Variant 0x32f4a0->{VT_BSTR|VT_BYREF,0x32f754} 0009:trace:variant:VariantCopy (0x1b0f98->(VT_EMPTY),0x32f4a0->(VT_BSTR|VT_BYREF)) 0009:trace:variant:VariantClear (0x1b0f98->(VT_EMPTY)) 0009:trace:ole:DispCallFunc (0x1b07c8, 208, 4, 10, 5, 0x1b0ffc, 0x1b0fe8, 0x32f2ac (vt=10)) 0009:trace:ole:DispCallFunc arg 0: type 16396, size 1 0009:trace:ole:dump_Variant 0x1b0f48->{VT_VARIANT|VT_BYREF,0x1b0f98} 0009:trace:ole:DispCallFunc arg 1: type 16396, size 1 0009:trace:ole:dump_Variant 0x1b0f58->{VT_VARIANT|VT_BYREF,0x1b0fa8} 0009:trace:ole:DispCallFunc arg 2: type 16396, size 1 0009:trace:ole:dump_Variant 0x1b0f68->{VT_VARIANT|VT_BYREF,0x1b0fb8} 0009:trace:ole:DispCallFunc arg 3: type 16396, size 1 0009:trace:ole:dump_Variant 0x1b0f78->{VT_VARIANT|VT_BYREF,0x1b0fc8} 0009:trace:ole:DispCallFunc arg 4: type 16396, size 1 0009:trace:ole:dump_Variant 0x1b0f88->{VT_VARIANT|VT_BYREF,0x1b0fd8} 0009:Call ntdll.RtlAllocateHeap(00110000,00000000,00000018) ret=606ca623 0009:Ret ntdll.RtlAllocateHeap() retval=001b1010 ret=606ca623 0009:trace:ole:DispCallFunc Storing arg 0 (16396 as 16396) 0009:trace:ole:DispCallFunc Storing arg 1 (16396 as 16396) 0009:trace:ole:DispCallFunc Storing arg 2 (16396 as 16396) 0009:trace:ole:DispCallFunc Storing arg 3 (16396 as 16396) 0009:trace:ole:DispCallFunc Storing arg 4 (16396 as 16396) 0009:trace:ole:_invoke Calling 0x60fdb6c0(001b07c8,001b0f98,001b0fa8,001b0fb8,001b0fc8,001b0fd8,) 0009:trace:shdocvw:WebBrowser_Navigate2 (0x1b07c8)->(0x1b0f98 0x1b0fa8 0x1b0fb8 0x1b0fc8 0x1b0fd8) 0009:trace:shdocvw:navigate_url navigating to L"http://www.cybersamurai.com/support/reg_demo.htm" 0009:fixme:shdocvw:navigate_url Unsupported args (Flags 0x1b0fa8:10; TargetFrameName 0x1b0fb8:10) 0009:trace:shdocvw:navigate_url PostData vt=10 ... --- snip ---
The next problem would be IWebBrowser2::get_Name() (returns unimpl).
Regards
http://bugs.winehq.org/show_bug.cgi?id=15896
--- Comment #6 from Juan Lang juan_lang@yahoo.com 2009-08-14 12:45:05 --- I sent a patch for the VT_BYREF issue: http://www.winehq.org/pipermail/wine-patches/2009-August/077149.html
http://bugs.winehq.org/show_bug.cgi?id=15896
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |shdocvw
--- Comment #7 from Juan Lang juan_lang@yahoo.com 2009-08-14 12:46:52 --- Oh, and for now this is a shdocvw bug.
http://bugs.winehq.org/show_bug.cgi?id=15896
--- Comment #8 from Juan Lang juan_lang@yahoo.com 2009-08-17 11:40:34 --- Now the VT_BYREF issue is fixed, so it's the missing IWebBrowser2::get_Name() implementation that's troubling it.
http://bugs.winehq.org/show_bug.cgi?id=15896
--- Comment #9 from Alistair Leslie-Hughes leslie_alistair@hotmail.com 2009-12-14 05:43:26 --- IWebBrowser2::get_Name() has been implemented. http://www.winehq.org/pipermail/wine-cvs/2009-December/062275.html
http://bugs.winehq.org/show_bug.cgi?id=15896
--- Comment #10 from Nikolay Sivov bunglehead@gmail.com 2010-06-06 17:53:06 --- Please retest with 1.2-rc2. All mentioned problems are fixed.
http://bugs.winehq.org/show_bug.cgi?id=15896
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #11 from Juan Lang juan_lang@yahoo.com 2011-05-26 13:05:34 CDT --- No response in nearly a year => presuming fixed by commit e7906026bb82f30a69a7c788e32cd9edd7154e33.
http://bugs.winehq.org/show_bug.cgi?id=15896
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org 2011-05-27 13:36:40 CDT --- Closing bugs fixed in 1.3.21.
http://bugs.winehq.org/show_bug.cgi?id=15896
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e7906026bb82f30a69a7c788e32 | |cd9edd7154e33