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

Support for XE2 #209

Closed mcsmark closed 2 years ago

mcsmark commented 2 years ago

I tried to install into XE2. but i get compile errors when i compile svgiconpackage_DX3

[DCC Error] SVGTypes.pas(161): E2029 'END' expected but 'CONST' found [DCC Error] SVGTypes.pas(163): E2029 'IMPLEMENTATION' expected but ';' found [DCC Error] SVGTypes.pas(165): E2029 '.' expected but 'IMPLEMENTATION' found [DCC Warning] SVGTypes.pas(165): W1011 Text after final 'END.' - ignored by compiler [DCC Error] SVGTypes.pas(145): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.Create' [DCC Error] SVGTypes.pas(146): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.FromGPMatrix' [DCC Error] SVGTypes.pas(148): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.IsEmpty' [DCC Error] SVGTypes.pas(149): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.IsIdentity' [DCC Error] SVGTypes.pas(150): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.ToGPMatrix' [DCC Error] SVGTypes.pas(152): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.CreateRotation' [DCC Error] SVGTypes.pas(153): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.CreateScaling' [DCC Error] SVGTypes.pas(154): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.CreateTranslation' [DCC Error] SVGTypes.pas(156): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.Multiply' [DCC Error] SVGTypes.pas(157): E2065 Unsatisfied forward or external declaration: 'TAffineMatrix.Multiply' [DCC Fatal Error] SVG.pas(59): F2063 Could not compile used unit 'SVGTypes.pas'

the const seems to be a problem : TAffineMatrixConstants = record helper for TAffineMatrix const Empty: TAffineMatrix = (m11: 0; m12: 0; m21: 0; m22: 0; dx: 0; dy: 0); const Identity: TAffineMatrix = (m11: 1; m12: 0; m21: 0; m22: 1; dx: 0; dy: 0); end;

carloBarazzetta commented 2 years ago

sorry but those components actually are compatible only from Delphi XE3, as explained into readme. If you don't have XE3 I suggests to use: https://github.com/EtheaDev/IconFontsImageList that uses Fonts instead of SVG Images.

mcsmark commented 2 years ago

thanks for the reply. a real pity. whenever borland/idero/embarcadero creates a new version, using new features means one can not keep using older reliable software. but that is a different discussion. i would have loved to use this but lucky for me there are other packages that support XE2.