LCL Defines

From Free Pascal wiki
Revision as of 22:05, 8 July 2007 by Wile64 (talk | contribs)
Jump to navigationJump to search

Les documents de cette page définit les options qui peuvent être utilisés pour recompiler les différents widgetsets de la LCL. Ce n'est pas une liste compréhensive, mais peut en devenir une si plus de définition sont ajouté.

Pourquoi employer des définitions ?

Les Définition permette d'ajouter des fonctionnalités non standard à la LCL, les dispositifs d'essai expérimentaux ou pour ajouter une sortie de déboguage qui aide à examiner les widgetsets.

Recompiler la LCL avec une définition

Pour recompiler la LCL avec une définition spécial allez dans le menu de Lazarus Outils -> Configurer "build Lazarus"

Là s'ajoutent -d<DEFINE_NAME> dans la boite d'options.

Ainsi si vous souhaitez ajouter la définition PassWin32MessagesToLCL, vous ajouterez -dPassWin32MessagesToLCL dans cette boite.


Définitions pour Win32

  • PassWin32MessagesToLCL - Permet l'utilisation des messages utilisateur, c.-à-d. messages plus grands que WM_USER + 32


  • WindowsUnicodeSupport - Bascule sur l'appui expérimental Unicode sur Windows.

Définitions pour WinCE

Définitions pour Gtk

DebugLCLComponents

Ceci active la sauvegarde d'information sur chaque création ou destruction des composants de la LCL, contextes de dispositif, objets gdi(pen, brush, font, ...) et widgets principaux. Il repèrera des fuites de mémoire et la double libération avec des traces de pile.

TraceGDICalls

Ceci active la sauvegarde d'information sur chaque création ou destruction des objets gdi(pen, brush, font, ...). Il repèrera des fuites de mémoire et le double libération avec des traces de pile.

Définitions pour Qt

Vous pouvez employer les définitions suivante pendent la construction de la LCL pour configurer votre interface QT:

  • USE_QT_4_3 - La version par défaut de QT utilisée par l'interface est 4.2 ou supérieur. En plaçant ceci vous définissez l'interface employer à 4.3, comme des fiches MDI.
  • VerboseQt - Writes extensive debug information about the creation and deletion of Qt objects and LCL Objects to the StdOut.
  • VerboseQtWinAPI - Writes extensive debug information about the Qt implementation of the functions on the LCLIntf unit to StdOut.
  • QT_HIDDEN_BUTTON_WORKAROUND - This activates a work around for a LCL miss-behavior which makes it create a hidden button to overcome some Gtk problem. This should be removed after LCL is fixed. Link for the bug: http://www.freepascal.org/mantis/view.php?id=9152

Carbon defines

List of Carbon defines used to show debug info when tracing:

  • DebugEventLoop
  • VerboseObject - Carbon interface application
  • VerboseTimer
  • VerboseWinAPI
  • VerboseLCLIntf
  • VerboseMouse
  • VerboseCursor
  • VerboseKeyboard
  • VerbosePaint
  • VerboseCanvas
  • VerboseMenu
  • VerboseScroll
  • VerboseWidget - TCarbonWidget class
  • VerboseAppEvent - Carbon application event handlers
  • VerboseControlEvent - Carbon control event handlers
  • VerboseWindowEvent - Carbon window event handlers
  • VerboseCommonEvent - Carbon common event handlers
  • VerboseWSClass - TCarbonWS classes