EtheaDev / SVGIconImageList

Three engines to render SVG (Delphi Image32, Skia4Delphi, Direct2D wrapper) and four components to simplify use of SVG images (resize, fixedcolor, grayscale...)
Apache License 2.0
321 stars 93 forks source link

Add a define to switch off "engine hints" in SVGInterfaces.pas #258

Closed Bbommel closed 10 months ago

Bbommel commented 1 year ago

Thanks for this great project! There is one thing that makes troubles: For a clean code, it is important for us that we don't have any warnings and any hints when compiling our code - usually in release mode as well as in debug mode. But in SVGInterfaces we get a hint informing about the used SVG engine in every build.

The reason for this is the following code:

{$IF DEFINED(Delphi_SVGEngine)}
  {$MESSAGE HINT 'Use Delphi native (TSVG) SVG-Engine for SVGIconImageList'}
  PasSVGFactory
{$ELSEIF DEFINED(Image32_SVGEngine)}
  {$MESSAGE HINT 'Use Delphi native Image32 SVG-Engine for SVGIconImageList'}
  Image32SVGFactory
[...]

There seem to be different opinions about when to use a "hint". :-) A solution for all could be a new "DEFINE" that one can set in the project to disable the warnings. Like this:

{$IF DEFINED(Delphi_SVGEngine)}
  {$IFNDEF SvgDisableEngineHint}
    {$MESSAGE HINT 'Use Delphi native (TSVG) SVG-Engine for SVGIconImageList'}
  {$ENDIF}
  PasSVGFactory
{$ELSEIF DEFINED(Image32_SVGEngine)}
  {$IFNDEF SvgDisableEngineHint}
    {$MESSAGE HINT 'Use Delphi native Image32 SVG-Engine for SVGIconImageList'}
  {$ENDIF}
  Image32SVGFactory
[...]

It would be really great if this change could be considered.