http://bugs.winehq.org/show_bug.cgi?id=10050
Summary: oleaut32 and ITypeInfo::Invoke arguments Product: Wine Version: 0.9.47. Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-ole AssignedTo: wine-bugs@winehq.org ReportedBy: gabmoa@yahoo.it
I'm trying to see an application (a cnc simulator/manager called ZFlash) in wine. It is a quite big VB6 application and I hope one day (not so distant) will run in linux. There are strange (for me :) errors:
...
ab},x=0,y=0,f=0,0x33e8b8), partially implemented. fixme:ole:OleLoadPictureEx (0x1451a0c,3134,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33f17c), partially implemented. fixme:ole:OleLoadPictureEx (0x1460794,2110,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33f530), partially implemented. fixme:ole:OLEPictureImpl_SaveAsFile (0x1d94008)->(0x21ed868, 0, (nil)), hacked stub. fixme:ole:OLEPictureImpl_Render type -1 not implemented fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering icons...
HERE IS THE 'STRANGE' LINE fixme:ole:_invoke unsupported number of arguments 70 in stdcall
fixme:ole:OLEPictureImpl_Render type -1 not implemented fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering icons... fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering icons... fixme:ole:OLEPictureImpl_Render type -1 not implemented fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering ... continue In the wine sources:
/dlls/oleaut32.dll, file typelib.c
/* ITypeInfo::Invoke DWORD _invoke(FARPROC func,CALLCONV callconv, int nrargs, DWORD *args) {
...
switch (callconv) { case CC_STDCALL: switch (nrargs) { case 0: res = func(); break; case 1: res = func(args[0]); break; ... case 30: ...
it finishes at 30, but the application seems to need also the 46 and 70 case. I have added the two case and seems ok (it stops for another thing after this but I think is another story)
My question is: 30 is considered only a big number or there is a reason? Seems that this application need bigger numbers...
(wine 0.9.47 clean from sources)