Hi, --- Ove Kaaven <ovek(a)arcticnet.no> wrote:
Could you explain the reason behind the last line, "Don't dump full struct/enum definitions in prototypes", since this shouldn't happen in any case.
The following idl file, "foo.idl", cut down from my oleidl.idl for example purposes: --------------------------------- import "objidl.idl"; interface IOleClientSite; interface IOleObject; typedef LPCRECT LPCBORDERWIDTHS; [ object, uuid(00000112-0000-0000-C000-000000000046) ] interface IOleObject : IUnknown { typedef IOleObject* LPOLEOBJECT; HRESULT DoVerb( [in] LONG iVerb, [in] struct tagMSG* lpmsg, [in] IOleClientSite* pActiveSite, [in] LONG lindex, [in] HWND hwndParent, [in] LPCRECT lprcPosRect); } --------------------------------- Produces as its output when run with -b -h: struct IOleObject: IUnknown { virtual HRESULT CALLBACK DoVerb( LONG iVerb, struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; }* lpmsg, IOleClientSite* pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) = 0; } ICOM_COM_INTERFACE_ATTRIBUTE; The patch I sent fixes this problem; if you think theres a better way to fix it then let me know, I'll strip that change out and re-send just the other fixes.
I didn't think RPC supported this.
Fair enough, probably best left as it is then. Cheers, Jon ===== "Don't wait for the seas to part, or messiahs to come; Don't you sit around and waste this chance..." - Live jon_p_griffiths(a)yahoo.com __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online http://webhosting.yahoo.com