On Friday 23 June 2006 08:59, Пётр Косаревский wrote:
> I know, that I can split {$IF} block:

Well, if you do define CHECK_OVERFLW depending on the current compiler's 
settings like this:

{$IFOPT Q+} {$DEFINE CHECK_OVRLW} {$ENDIF}

then ...

> {$Q-} e:=f+g; {$IFDEF CHECK_OVRLW} {Q+} {$ENDIF}

... this looks like one of the easiest ways.

> Is this a better practice?

Well, my practice is to use more lines, so that the instruction(s) in 
question don't get hidden by all the compiler-directives surrounding 
it.

Like this:

|{$IFOPT Q+} {$DEFINE OPT_Q} {$Q-} {$ENDIF}
|Bit_Working_Reg.L := (Bit_Working_Reg.L * $100) or
|                     Ifd.Lzw^.Input_Buf[Byte_Position_In_Buffer];
|{$IFDEF OPT_Q} {$UNDEF OPT_Q} {$Q+} {$ENDIF}

Your's is certainly shorter, but it depends on a global definition, 
which is something I'm always trying to avoid.


Vinzent.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to