LMD 2007 - Compiler Switches

From LMD
Revision as of 22:10, 3 June 2007 by Rafael (talk | contribs)

Jump to: navigation, search

<< Back to Main Page or Product Resources page

[edit]

Introduction

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.

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.