HB_SETMACRO()

Enable/disable the macro compiler runtime features.

Syntax

HB_SETMACRO( <nOption>, [<lOnOff>] ) --> <lOldSetting>

Arguments

<nOption> One of the HB_SM_* constants defined in set.ch.

<lOnOff> .T. to enable or .F. to disable a feature

Returns

HB_SETMACRO() return the old state of requested feature.

Description

This function enables or disables some features of the macro compiler. The Harbour is extending the macro features compared to an original set available in Clipper. Enabling/disabling some of them allows to keep strict Clipper compatibility.

Available features are: HB_SM_HARBOUR - enables harbour extensions: operators: ++, --, +=, -=, *=, /=, ^= objects: assigments to an instance variable HB_SM_XBASE - enables other xbase dialects extensions: expanding of expresions lists HB_SM_SHORTCUTS - enables optimized evaluation of logical operators (.and., .or.) HB_SM_PREPROC - enables preprocessing of commands This is meaningfull if Harbour is compiled with HB_MACRO_STATEMENTS flag

Examples
      INIT PROCEDURE IWANTCLIPPER()
        HB_SETMACRO( HB_SM_HARBOUR, .F. )
        HB_SETMACRO( HB_SM_XBASE, .F. )
      RETURN

Status

Ready

Compliance

This function is Harbour extension.

Platforms

All

Files

Header file is set.ch Library is macro

See Also