[Bug 10050] New: oleaut32 and ITypeInfo::Invoke arguments

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Oct 15 17:22:05 CDT 2007


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 at winehq.org
        ReportedBy: gabmoa at 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)


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list