RE: [Doxygen-users] Methods on COM objects
Brought to you by:
dimitri
From: Martin B. <MBo...@op...> - 2002-03-19 22:49:00
|
Dekuji pjekne to opravdu fungovalo velice dobre. I plugged it in and the thing worked stright away. I know that i should have had checked the documentation more intensely, however i wasn't shure where to look and was runnign out of time. I have tried to search for "COM" since it was a COM project that has coused this. Also when reading the documentation i found: "The PREDEFINED tag can be used to specify one or more macro names" This is confusing since i read this to mean that you are only defining "macro names" but really you are defining macros. Perhaps the documentation could be updated link COM to PREDEFINED as an example? Hi Martin, You should focus on the "Preprocessing" part of the doxygen documentation. Inside, you can find the example of what should be added to the PREDEFINED in your Doxyfile (configuration file). You may want something more to get the wanted result. Here is what I use in our project: PREDEFINED = WIN32, \ _WIN32, \ _x86, \ x86, \ _X86, \ X86, \ __cplusplus, \ _inline=inline, \ __inline=inline \ __stdcall= \ _stdcall= \ _export= \ __export= \ __import= \ _import= \ "__declspec(a)= " \ "STDMETHOD(x)=virtual HRESULT x" \ "STDMETHODIMP=HRESULT " \ "STDMETHODIMP_(type)=type " \ "STDMETHOD_(type,method)=virtual type method" \ "PURE= = 0" \ ATL_NO_VTABLE= \ BEGIN_CONNECTION_POINT_MAP=/* \ END_CONNECTION_POINT_MAP=*/// \ DECLARE_REGISTRY_RESOURCEID=// \ DECLARE_PROTECT_FINAL_CONSTRUCT=// \ DECLARE_VIEW_STATUS=// \ DECLARE_WND_CLASS_EX(x,y,z)=// \ BEGIN_COM_MAP=/* \ END_COM_MAP=*/// \ BEGIN_PROP_MAP=/* \ END_PROP_MAP=*/// \ BEGIN_MSG_MAP=/* \ END_MSG_MAP=*/// \ "DECLARE_INTERFACE(name)=class name" \ "DECLARE_INTERFACE_(name,base)=class name : public base" See you, Petr -- Petr Prikryl, Skil, spol. s r.o., (pri...@sk...) > -----Original Message----- > From: Martin Bosticky [SMTP:MBo...@op...] > Sent: Tuesday, March 19, 2002 1:26 AM > To: doxygen user list > Subject: [Doxygen-users] Methods on COM objects > > Hi Everyone. > > I have searched the documentation and i couldn't figure out how to > document COM methods. > > I tried to create documentation for a COM object. I have an interface > called IScheduleSetProcessor and a correcponding class called > CScheduleSetProcessor. On this class there is a COM method defined as: > > public: > STDMETHOD(Initialise)(/*[in]*/ BSTR strAuthentication, /*[in]*/ > IDataServer* pDataServer, /*[in]*/ IScheduleSet* pScheduleSet); > > and the implementation of the method is > > STDMETHODIMP CScheduleSetProcessor::Initialise(BSTR strAuthentication, > IDataServer* pDataServer, IScheduleSet* pScheduleSet) > { > ... > } > > So i think, ok, this will require macro expansion right? So i tried that > and tried to include the BASETYPS.H file with the appropriate expansion > macros etc, and all i could get was: > > STDMETHOD > <file:///D:/OPCrew/Src/ScheduleSetServer/html/classCScheduleSetProcessor.h > tml#a3> (Initialise)(BSTR strAuthentication > > in the html documentation output. This happends even if i swith it off. > > Thus 1. it seems i don't know how to switch on the macro expansion > properly and 2. something wrong is happening in the output. > > Any suggestions? > > Has anyone else tried to do this? > > Thanks, Martin. |