IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

[DELPHI6] $DEFINE directive


Sujet :

Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 19
    Par défaut [DELPHI6] $DEFINE directive
    Bonjour,

    J'ai un application delphi dans laquelle j'aimerais faire un $DEFINE qui ai une portée global dans mon application
    J'ai essayé en écrivant la ligne dans le source (*.dpr)
    unit main.dpr:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    program Mod_plt;
    {$DEFINE __SAMPLE}
    unit other.pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    unit other;
    {$IFDEF __SAMPLE}
    uses sample1;
    {$ELSE}
    uses sample2;
    {$ENDIF}
    Mais dans other.pas j'arrive toujours dans la partie {$ELSE}

    Comment faire ?

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2006
    Messages : 121
    Par défaut
    Je n'ai jamais utilisé ces $DEFINE.

    Mais dans ton exemple, est-ce qu'il sont vraiment nécessaires?

    Uses sert uniquement à déclarer les annexes de la form, je crois bien.
    Est-ce que comme ca, ca ne serait pas aussi simple?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    unit other;
     
    uses sample1, sample2;

  3. #3
    Membre émérite Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Par défaut
    Salut!

    Ne dois tu pas inclure le fichier dans l'entête de ton unit ?

    Personnellement, je mets mes DEFINES dans un fichier .inc et j'ajoute au début de mes units :

    Bon dev!

  4. #4
    Membre émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Par défaut
    mais c'est très astucieux ça

  5. #5
    Membre Expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 568
    Par défaut
    Salut

    J'ai déjà eu le problème du $DEFINE dans Delphi 3, il n'était pas pris en considération. La seule solution que j'ai trouvé à ce problème consistait à supprimer le $DEFINE du code du projet et de placer la définition équivalente dans les options du projet (directives conditionnelles).

    Pense à tout reconstruire après le changement de cette directive, sinon tu peux avoir des surprises fâcheuses.

    Cdlt

    e-ric

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  6. #6
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Au niveau de l'application, tu peux le définir dans les options du projet. Mais je ne sais plus exactement quel onglet ("Compilateur" probablement)
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

Discussions similaires

  1. [Dojo] Documentation directive define
    Par Caplande dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 06/01/2012, 17h24
  2. Réponses: 3
    Dernier message: 10/01/2010, 15h33
  3. #define directive pour compilation conditionnée
    Par nightwar dans le forum C++
    Réponses: 6
    Dernier message: 25/09/2009, 11h01
  4. Directive préprocesseur #define
    Par Altrensa dans le forum C
    Réponses: 12
    Dernier message: 29/11/2007, 17h53
  5. Portée de la directive $DEFINE insuffisante
    Par copeau31 dans le forum Langage
    Réponses: 6
    Dernier message: 14/03/2006, 16h07

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