Activer un objet dans un projet

Comme déjà vu, chaque objet peut être utilisé seul ou en corrélation avec un autre objet. Il convient donc d'activer ceux que l'on désire utiliser. Vous pouvez avoir installé les objets EMemory et ETrace mais ne vouloir utiliser que l'objet EMemory et se passer des fonctionnalités offertes par l'objet ETrace.En activant un objet, vous activez l'objet lui-même mais aussi les fonctions d'un autre objet utilisant ce premier.

L'activation d'un objet est liée à un projet. Si vous avez plusieurs projets vous devez activer les objets à l'intérieur de chaque projet. Il faut spécifier la directive correspondante à l'objet à utiliser avec la formule suivante : E + _ + NOM DE L'OBJET EN MAJUSCULE

Par exemple, pour utiliser l'objet EMemory, spécifiez la directive E_MEMORY. Si vous désirez en plus utiliser l'objet ETrace, spécifiez aussi la directive E_TRACE.

Pour activer un ou des objets de la librairie EclatLib, rendez-vous dans le menu Project » Propriétés de [nom du projet]. Puis dans la partie de gauche de la boîte de dialogue affichée, développez les branches Propriétés de configuration (1) » C/C++ (2) » Préprocesseur (3). Vous obtenez alors l'écran suivant :

Dans la partie de droite, entrez la directive de l'objet (4) (séparée de la précédente par le caractère ;) dans seconde colonne de la ligne Définitions du préprocesseur.

 

 

Où placer l'include général de la librairie <eclat.h>

Il faut placer l'include général de la librairie EclatLib <eclat.h> dans le fichier d'en-tête principal qui est le plus inclus par les autres fichiers sources de votre projet. Bien souvent il s'agit du fichier d'en-tête où se trouve la délaration de dérivation de la classe CWinApp (le nom de ce fichier est souvent constituté sous la forme nom du projet + .h) :

// Dev.h : fichier d'en-tête principal pour l'application Dev
//

#pragma once

#ifndef __AFXWIN_H__
  #error "incluez 'stdafx.h' avant d'inclure ce fichier pour PCH"
#endif

#include "resource.h" // symboles principaux

#include <eclat.h> // Placer l'include général de la librairie Eclat ici !

// CDevApp:
// Consultez Dev.cpp pour l'implémentation de cette classe
//

class CDevApp : public CWinApp
  {
  public:
  CDevApp();

  // Substitutions
  public:
  virtual BOOL InitInstance();

  // Implémentation
  DECLARE_MESSAGE_MAP()
  };

extern CDevApp theApp;

Ou vous pouvez placez cet include dans le fichier stdafx.h.

Une fois que vous avez inclus le fichier d'include général de la librairie <eclat.h>, il est inutile de faire les includes de chaque objet car ils sont automatiquement inclus si vous les avez déjà activés (voir section ci-dessus).