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

Langage Delphi Discussion :

Directive de compilation en fonction d'une version


Sujet :

Langage Delphi

  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 097
    Points : 41 081
    Points
    41 081
    Billets dans le blog
    62
    Par défaut Directive de compilation en fonction d'une version
    Bonjour,

    Comment je déclare une directive de compilation pour indiquer : toutes les versions au dessus de VER270 (XE6 si je ne me trompe pas) ?

    Si j'écris {$IFDEF VER280} est-ce que cela fonctionne ou faut-il créer un define particulier ?

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 754
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 754
    Points : 13 340
    Points
    13 340
    Par défaut
    Tu peux tester la version minimale du compilateur par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {$IF CompilerVersion >= 28.0}
    ...
    {$IFEND}

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 097
    Points : 41 081
    Points
    41 081
    Billets dans le blog
    62
    Par défaut
    Merci, je n'y avais pas pensé et m'enferrait dans les VERxxx

  4. #4
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 614
    Points
    3 614
    Par défaut
    Tu peux aussi utiliser ça si tu veux (mais faut être un peu fou fou) :

    https://github.com/HemulGM/VLC/blob/master/compiler.inc

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 097
    Points : 41 081
    Points
    41 081
    Billets dans le blog
    62
    Par défaut
    C'est justement ce que je voulais éviter !
    en fait, j'ai fait ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    {$DEFINE  VER280_UP}  // XE7 et plus
    {$IF  compilerversion<28.0} {$UNDEF VER280_UP} {$IFEND}
     
    ...
    {$IFDEF VER280_UP}   // 	Delphi XE7 et plus compiler 21
       Image1.Picture.LoadFromStream(aStream);
    {$ELSE}
       tempFileName:='puzzle.png';
       aStream.SaveToFile(tempFileName);
       Image1.Picture.LoadFromFile(tempFileName);
    {$ENDIF}
    et mon downgrade du Taquin compile sur D2010, XE4, Tokyo
    Il y a juste un truc qui traine à savoir à partir de quelle version TRect.Create() est apparu, du coup j'ai écrit un peu plus de code pour l'éviter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var DestRect,SourceRect : TRect;
    ..
              DestRect.Left:=0;
              DestRect.Top:=0;
              DestRect.Right:=ImageList1.Width;
              DestRect.Bottom:=ImageList1.Height;
              SourceRect.Left:=ImageList1.Width * c;
              SourceRect.Top:=ImageList1.Height * l;
              SourceRect.Right:=ImageList1.Width * c + ImageList1.Width;
              SourceRect.Bottom:=ImageList1.Height * l +ImageList1.Height;
              pBitmap.Canvas.CopyRect(DestRect,sBitmap.Canvas,SourceRect);
    Mais comme c'est tout aussi propre je laisse cette partie

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/05/2019, 19h07
  2. Réponses: 2
    Dernier message: 24/04/2008, 15h03
  3. Réponses: 3
    Dernier message: 17/10/2006, 08h42

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