Sparx Systems Forum
Enterprise Architect => General Board => Topic started by: shaft on May 17, 2002, 02:46:43 pm
-
Quick question that probably hasn't been implemented yet, but I figure I'll ask. I'm attempting to reverse-engineer a DLL I wrote a while ago...
I have the following define statment
#ifdef MAKE_A_DLL
#define LINKDLL __declspec( dllexport)
#else
#define LINKDLL __declspec( dllimport)
#endif
Now every class in the DLL looks something like this:
class LINKDLL CTwilightEngineClass : public CSomething
{
...
}
Now the problem is when I try to import it, EA thinks the class is named LINKDLL, and it doesn't recoginize that it's derived from CSomething.
Is there a way around this? Make it ignore the word LINKDLL.
-
Hi,
Yes there is a specific dialog to set up C++ Macros which the parser will ignore. It is under Refrerence/Language Macros.
Add all the defined names such as LINKDLL to the C++ list. Then when you import, they will be ignored.
Also, if you have macros which wrap a block of code, and you wish to ignore the whole block, then you can specify the macro name in the following way:
STARTMACRO ^ ENDMACRO
make sure you include the space each side of the ^ character.
An example of this for MFC would be
BEGIN_PARAM_MAP ^ END_PARAM_MAP
Geoff Sparks