p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre du Club
    Inscrit en
    août 2010
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 89
    Points : 61
    Points
    61

    Par défaut #pragma dans une macro

    Bonjour à tous,

    je ne pense que ce soit possible avec C++Builder (XE2) car je n'ai rien trouvé sur le net, mais j'ai vu qu'on pouvait le faire avec Visual Studio.
    http://msdn.microsoft.com/en-us/library/d9x1s805.aspx

    The compiler also supports the __pragma keyword, which has the same functionality as the #pragma directive, but can be used inline in a macro definition.

    Je voudrais avoir ce genre de macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #define REGISTER_STARTUP(class) static void Reg_##class() \
           { \
           class::CreateHandle(); \
           } \
           #pragma startup Reg_##class

  2. #2
    Expert Confirmé Sénior Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    10 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 10 163
    Points : 14 561
    Points
    14 561

    Par défaut

    Je suppose que tu as testé ta macro et que tu as obtenu un message d'erreur, lequel ?

    J'ai écrit ceci pour un Register de Class automatique dans le fichier H


    Fichier H
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class toto
    {
    private:
      static bool Created;
    public:
      static bool CreateHandle();
    };
    bool toto::Created = toto::CreateHandle();
    Fichier CPP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    /*static*/ bool toto::CreateHandle()
    {
      ShowMessage("toto est là !");
      return true;
    }
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Inscrit en
    août 2010
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 89
    Points : 61
    Points
    61

    Par défaut

    ah tiens c'est vraiment pas bête !

    Je vais vois ce que je peux faire avec ça. Merci !

  4. #4
    Membre Expert Avatar de nirgal76
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2007
    Messages
    656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2007
    Messages : 656
    Points : 1 234
    Points
    1 234

    Par défaut

    #pragma startup fonctionne sous XE2, le problème doit être plutôt le fait d'avoir #pragma à l'intérieur d'un #define.

    il y a une autre syntax à
    "#pragma argument"
    qui est
    _prama(argument)
    qui permet de remédier à celà mais elle ne fonctionne qu'avec les compilateurs c99 or c++0x. A tester sous XE2, je n'ai pas le courage de le faire

  5. #5
    Membre du Club
    Inscrit en
    août 2010
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 89
    Points : 61
    Points
    61

    Par défaut

    Merci nirgal,

    j'avais testé mais ça ne fonctionne pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. newline dans une macro procédure
    Par Puyi dans le forum C
    Réponses: 9
    Dernier message: 19/04/2006, 16h01
  2. Exécuter une sub d'un module dans une macro
    Par pnoel-bi dans le forum Access
    Réponses: 3
    Dernier message: 03/03/2006, 10h39
  3. Code asm dans une macro C
    Par progfou dans le forum C
    Réponses: 11
    Dernier message: 01/03/2006, 18h50
  4. Comment insérer une macro excel dans une macro word?
    Par max2245 dans le forum VBA Word
    Réponses: 15
    Dernier message: 07/01/2006, 17h44
  5. pb dans une macro excel VB
    Par syl221 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/10/2005, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo