EugeneK 19 Posted September 23, 2022 Hi I made a patch to use System.Zlib instead of OverbyteIcsZLibObj to avoid duplicating zlib code in application. ICSZlib.patch Share this post Link to post
Angus Robertson 574 Posted September 23, 2022 Thanks, presumably it is conditional for Delphi 11.1 (I think) and later that contain the same ZLIB as ICS? Angus Share this post Link to post
EugeneK 19 Posted September 23, 2022 It is for XE2+ right now, i.e.. {$IFDEF DELPHI16_UP} {$DEFINE UseDelphiZlib} {$ENDIF} For Delphi 11, should be changed to DELPHI28_UP, not sure, how to check for Delphi 11.1 Share this post Link to post
Angus Robertson 574 Posted September 24, 2022 I recently added a IcsBuiltWith function to ICS to keep track of how I'm building the samples, there are RTL variables that can be checked for recent compilers: {$IFDEF VER350} Result := '11.0'; {$IF Declared(RTLVersion111)}Result := '11.1';{$IFEND} {$IF Declared(RTLVersion112)}Result := '11.2';{$IFEND} // both declared {$ENDIF} {$IFDEF VER340} Result = '10.4'; {$IF Declared(RTLVersion1041)}Result := '10.41';{$IFEND} {$IF Declared(RTLVersion1042)}Result := '10.42';{$IFEND} // both declared {$ENDIF} Angus Share this post Link to post
Fr0sT.Brutal 900 Posted October 10, 2022 Couldn't these changes be incorporated into OverbyteIcsZLibObj itself to reduce changes in "uses" sections? Share this post Link to post
Angus Robertson 574 Posted October 10, 2022 Busy finishing off other things, but the System.Zlib implentation will be the most painless and backward compatible solution possible, as are most ICS changes, don't like breaking things. Angus Share this post Link to post
Angus Robertson 574 Posted October 21, 2022 The ZLIB changes to use System.Zlib are now in SVN, considerably simplified so two defines are now only used once each in one unit, making it easier to support. But you do need to use the new OverbyteIcsDefs.inc or edit your own version, see the SVN notes. Angus 2 Share this post Link to post