Page 1 of 1

#PB_Macro for Defined()

Posted: Wed Jul 10, 2019 1:50 pm
by infratec
Hi,

I just came accross a problem:
I need to know if a Macro is already defined (many include files :( )

I tried to use

Code: Select all

CompilerIf Not Defined()
But ...

#PB_Macro does not exist.

Re: #PB_Macro for Defined()

Posted: Wed Jul 10, 2019 1:56 pm
by skywalk
Yeah, I check a constant defined within my common macros.
Undefine macro
Define macro could be a workaround?

Re: #PB_Macro for Defined()

Posted: Thu Jul 11, 2019 3:10 am
by Little John
Hi,

this was discussed before:
viewtopic.php?f=13&t=46310

Anyway, it's good to have a feature request for it now in the appropriate forum section.

Re: #PB_Macro for Defined()

Posted: Fri Jul 12, 2019 8:04 pm
by acreis

Code: Select all

Macro CompilerIfNotDefinedMacro(_Macro_Name_)

CompilerIf Defined(_Macro_Name_#_Defined_, #PB_Constant) = 0
  #_Macro_Name_#_Defined_ = 1
  
  EndMacro
  
  
  
CompilerIfNotDefinedMacro(MyMacro)
  
  Macro MyMacro()
    
    Debug 14
    
  EndMacro   
  
CompilerEndIf


CompilerIfNotDefinedMacro(MyMacro)

Macro MyMacro()
    
    Debug 25
    
  EndMacro   
  
CompilerEndIf

MyMacro()