LCL Defines/fr

From Lazarus wiki
Jump to: navigation, search

English (en) français (fr)

Cette page documente les defines qui peuvent être utilisées pour recompiler les différents jeux de composants graphiques(widgetsets) de la LCL. Ce n'est pas une liste exhaustive, mais peut en devenir une si plus de définitions sont ajoutées.

Pourquoi employer des defines ?

Les défines permettent d'ajouter des fonctionnalités non standard à la LCL, de tester les fonctionnalités expérimentales ou d'ajouter une sortie de déboguage qui aide à tester les jeux de composants graphiques(widgetsets).

Recompiler la bibliothèque LCL avec un défine

Pour recompiler la bibliothèque LCL avec un défine spécial allez dans le menu de Lazarus Outils -> Configurer "build Lazarus"...

Là ajoutez -d<DEFINE_NAME> dans la boite de dialogue Options :.

Ainsi si vous souhaitez ajouter le défine PassWin32MessagesToLCL, vous ajouterez -dPassWin32MessagesToLCL dans cette boite de dialogue.

Les defines avec Win32

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


  • WindowsUnicodeSupport - Bascule vers le support unicode expérimental avec Windows.

Les defines avec WinCE

Les defines avec Gtk

DebugLCLComponents

Ce define active l'enregistrement d'information sur chaque création ou destruction de composants de la bibliothèque LCL, les contextes de dispositif, les objets gdi (pen, brush, font, ...) et les composants graphiques principaux. Il repèrera les fuites de mémoire et la double libération d'objets avec des traçages de pile.

"device context" ou "contexte de dispositif" en français : Cela représente une surface sur laquelle un graphique peut être affiché. Cette surface peut se trouver sur un écran, une imprimante un traceur de courbe, etc

TraceGDICalls

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

Les defines avec Qt

Vous pouvez employer les defines suivants pendant la construction de la bibliothèque 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érieure. En choisissant ce define, vous permettez à l'interface d'employer les fonctionnalités de la version 4.3+, comme des fiches MDI.
  • VerboseQt - Écrit des informations de déboguage étendues sur la création et la suppression d'objets de la bibliothèque QT et d'objets de la bibliothèque LCL vers la sortie standard(StdOut).
  • VerboseQtWinAPI - Écrit des informations de déboguage étendues à propos de l'implémentation des fonctions de la bibliothèque QT sur l'unité LCLIntf vers la sortie standard(StdOut).
  • QT_HIDDEN_BUTTON_WORKAROUND - Ceci active le contournement d'un disfonctionnement de la bibliothèque LCL lequel lui fait créer un bouton caché pour surmonter certain problème de Gtk. Ceci devrait être enlevé dès que la bibliothèque LCL sera corrigée. Lien vers le bogue.
  • QT_LAZARUS_IDE_WORKAROUND - Activates workaround for invisible mainmenu inside lazarus ide, also moving offsets of TGraphicControl descendants , because geometry of form doesn't take TMainMenu height and TToolbar height into account. This should be removed, as soon as we fix offsets, and accounting of TMainMenu & TToolBar height.
  • VerboseQtWinAPI_MISSING_IMPLEMENTATION - Writes extensive debug information about the MISSING Qt implementation of the functions on the LCLIntf unit to StdOut.
  • VerboseQtWinAPI_DEBUG_CLIPBOARD - Writes extensive debug information about LCL clipboard operations.

Les défines avec Carbon

La liste des defines de Carbon utilisée pour montrer des informations de déboguages pendant le traçage :

  • 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