widl: oleidl.h problem

Dimitrie O. Paun dpaun at rogers.com
Tue Sep 9 07:06:18 CDT 2003


When compiling visual-mingw under Winelib, I get the following error:

In file included from /usr/local/include/wine/windows/ole2.h:27,
                 from /usr/local/include/wine/windows/shlobj.h:22,
                 from ../include/browsdlg.h:19,
                 from browsdlg.cpp:14:
/usr/local/include/wine/windows/oleidl.h:294: ISO C++ forbids defining types
   within in a parameter list
Error: g++ failed.

The offending code is:

#if defined(__cplusplus) && !defined(CINTERFACE)
struct IOleInPlaceActiveObject : public IOleWindow
    virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
        struct tagMSG {
            HWND hwnd;
            UINT message;
            WPARAM wParam;
            LPARAM lParam;
            DWORD time;
            POINT pt;
        }* lpmsg) = 0;
    virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
        BOOL fActivate) = 0;
    virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(
        BOOL fActivate) = 0;
        LPCRECT prcBorder,
        IOleInPlaceUIWindow* pUIWindow,
        BOOL fFrameWindow) = 0;
    virtual HRESULT STDMETHODCALLTYPE EnableModeless(
        BOOL fEnable) = 0;

Can some of the widl gurus look at this one please?


More information about the wine-devel mailing list