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 ?
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 ?
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}
Merci, je n'y avais pas pensé et m'enferrait dans les VERxxx
Tu peux aussi utiliser ça si tu veux (mais faut être un peu fou fou) :
https://github.com/HemulGM/VLC/blob/master/compiler.inc
C'est justement ce que je voulais éviter !
en fait, j'ai fait ceci
et mon downgrade du Taquin compile sur D2010, XE4, Tokyo
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}
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
Mais comme c'est tout aussi propre je laisse cette partie
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);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager