LMD 2007 - Compiler Switches

From LMD
Jump to: navigation, search

<< Back to Main Page or Product Resources page

[edit]

Introduction

This document is related to LMD 2007 packages only.
Location of the global compiler switches which are shared by all major and standalone LMD packages is lmdcmps.inc in lmdrtl subfolder. The following sections describe the use and functionality of main compiler switches.

General switches

  • LMD_UNICODE - Unicode support: Comment this switch, to disable Unicode support (where available). Default: ON
  • LMDDISABLE_OLEINIT - Comment this to disable OleInitialize in initialization section. Default: OFF

Debug switches

  • LMD_DEBUG - Use this switch to enable/disable Debug settings for compiler. Default: OFF
  • LMDDEBUGTRACE - Required internally for special debugging purposes. Default: OFF
  • LMD_DEBUGMESSAGES - Enables or disables output of debug messages. Default: OFF

Themes related switches

LMD 2007 runtime modules provide an operating system independent Theme/Skinning engine which can be turned on/off by using the LMDDISABLE_LMDTHEMEENGINE compiler switch:

  • LMDDISABLE_LMDTHEMEENGINE - turns off standalone/native LMD 2007 Theme engine.
  • LMDDISABLE_LMDTHEMES - turns off LMD-Tools Theme support. Relevant only, when LMDDISABLE_LMDTHEMEENGINE is enabled (and native theme engine is disabled). Turns off use of LMDXPStyles unit in order to use UxTheme.pas unit instead (which is included from Delphi 7 and higher by default). If this switch is defined, then theme engine cannot be used.

Check following table for possible dependencies:

LMDDISABLE_LMDTHEMES LMDDISABLE_LMDTHEMEENGINE Meaning
defined defined LMD Theme Engine is switched off. UxTheme.pas is used instead of LMDXPStyles.pas. Themed applications are not possible if compiled in Delphi 5-6. This combination makes sense, if you want achieve as less overhead for your application as possible.
defined undefined Senseless combination. If LMDDISABLE_LMDTHEMES is defined, then LMDDISABLE_LMDTHEMEENGINE becomes defined as well - which turns off the LMD 2007 Theme engine.
undefined defined LMD Theme Engine is switched off. LMDXPStyles.pas is used. Themed applications are possible if compiled in Delphi 5-6.
undefined undefined LMD Theme Engine is switched on. LMDXPStyles.pas is used. Themed applications are possible on Windows 95-98 and Windows 2000.


Dependencies
To use standard XP theming in Delphi/CBuilder 5 and 6, LMDDISABLE_LMDTHEMES should be undefined (OR: you have installed XP ThemeManager by Mike Lischke which provides UxTheme unit as well). If LMDDISABLE_LMDTHEMES is defined, then LMDDISABLE_LMDTHEMEENGINE becomes defined too which turns off the LMD 2007 Theme engine automatically.

ElPack related switches

  • LMD_ELUNISCRIBE - Uniscribe support: comment this switch, to disable Uniscribe support. note: feature is in alpha stage and not available for all controls. Default: OFF
  • LMDDISABLE_ELTOOLBAR_SETUP - Disables TElToolBar.Setup method that show the dialog that lets user re-arrange and show or hide controls on toolbar. This method is hidden by default to make less executable. Default: ON
  • LMDDISABLE_ELHEADER_SETUP - Disables TElHeader.Setup method that show the dialog for sections in ElHeader object. This method is disabled by default to make less executable. Default: ON

LMDPNG related switches

  • LMD_REGISTERPNG - Register TLMDPNGObject as TGraphic format. Default: ON
  • LMD_PARTIALTRANSPARENTDRAWPNG - Enables drawing mode for semitransparent png images. Default: ON