Bonjour à toutes et à tous
Je travaille sur un projet Delphi (version D10.3.3) qui est en constante évolution depuis plus de 15 ans, et je corrige des avertissements et des conseils qui sont présents depuis quelques années (je n'ai pas l'historique précis car j'ai rejoint l'équipe il y a 1 an et demi)
Dans les sources du projet, il y a des composants que l'on a retouchés/développés en interne
En l'état, quand je construis mon projet, j'ai un W1000 qui apparaît dans la Sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 unit Outils; interface uses Dialogs, Classes, Windows, Messages, Controls, Forms, StdCtrls, Math, ExtCtrls, Menus, Graphics, Buttons, Themes, SysUtils, Types, UITypes, ActnList, ImgList, ActiveX, CommCtrl, ComCtrls, PngImage, PngImageList, AdvGDIP, GDIPicture, GDIPPictureContainer, AdvMenus, AdvMenuUtil, AdvOfficeTabSet, AdvMetroButton, AdvSmoothScrollBar, AdvFontCombo, AdvGraphicCheckLabel, slstbox; {$R RessourcesComposants.res} {$R RessourcesComposantsBMP.res} type TAlignmentV = (avTop, avCenter, avBottom); TFillDirection = (fdTopToBottom, fdBottomToTop, fdLeftToRight, fdRightToLeft); {------ TCustomPersoButton -----} TCustomPersoButton = class; { TCustomPersoButtonActionLink (inspiré du TSpeedButtonActionLink)} TCustomPersoButtonActionLink = class(TControlActionLink) protected FClient: TCustomPersoButton; FImageIndex: Integer; procedure AssignClient(AClient: TObject); override; function IsCheckedLinked: Boolean; override; function IsGlyphLinked(Index: TImageIndex): Boolean; virtual; function IsGroupIndexLinked: Boolean; override; function IsImageIndexLinked: Boolean; override; procedure SetGroupIndex(Value: Integer); override; procedure SetChecked(Value: Boolean); override; procedure SetImageIndex(Value: Integer); override; public constructor Create(AClient: TObject); override; end; ... end.En effet, dans une version antérieure de Delphi, le type TImageIndex était déclaré dans ImgList. Avec l'apparition de FireMonkey, les unités ont évolué, certaines ont pris un préfixe Vcl ou Fmx, et en l'occurrence ImgList est devenue Vcl.ImgList. Cette évolution a conduit à "déplacer" certains types pour qu'ils soient accessibles en FMX : le TImageIndex a été déplacé dans System.UITypes, et son utilisation dans Vcl.ImgList a été dépréciée (ce qui amène le W1000 à la construction).
Code : Sélectionner tout - Visualiser dans une fenêtre à part D:\Dev\Sources\Commun\ComposantsVisuels\Outils.pas(33,35): warning W1000: W1000 Le symbole 'TImageIndex' est déprécié: 'Use System.UITypes.TImageIndex'
Ma question est la suivante : dans les uses de mon unité Outils, si je déplace UITypes après la déclaration de l'unité ImgList, mon Warning disparaît à la construction. Est-ce qu'il y a un impact sur le comportement de l'application si je fais cette inversion de uses, ou bien je peux faire valider cette modification sans avoir à refaire tous les tests ?
Merci pour votre retour
Partager