[fpc-pascal] detect implementation / interface sections
    David Emerson 
    dle3ab at angelbase.com
       
    Thu Sep 24 23:53:00 CEST 2015
    
    
  
I tried sending this message two days ago, but it seems not to have gone 
through. Trying again.
I like using include files, to break up big units into multiple files, 
and also as macro-based templates.
One thing I do frequently is to put both the interface and the 
implementation into one include file, and include it twice-- once in the 
interface, and once in the implementation section of the unit. The 
include file thus looks like this:
{$ifdef interface}
   <type declarations>
{$endif}
{$ifdef implementation}
   <code>
{$endif}
So my question-- right now I have to manually define and undefine the 
symbols "interface" and "implementation" in each unit.
Is there a way to detect what section of a unit the compiler is in, 
rather than using these user-defined symbols?
So in my include file(s), instead of writing {$ifdef interface} I would 
write something that actually knows if an interface or implementation is 
being compiled.
Ditto for initialization, finalization (although I use this much less 
frequently)
Thanks!
~David.
    
    
More information about the fpc-pascal
mailing list