RTC Forums
December 06, 2024, 08:21:49 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: rtcZLib EZLibError Exception ZDecompress_str.InflateInit:incompatible version  (Read 6445 times)
bikotronic
RTC License
***
Posts: 11


« on: March 01, 2021, 10:07:12 AM »

Hi, after the Delphi update I get this error message in delphi.
(I need the update because of Android 11.)
If i start my app on ios Devices.
Code:
EZLibError ZLib Exception ZDecompress_str.InflateInit: incompatible version

and this message in the verbose log from paserver
Code:
Class 'TRtcDataClientLink' has a base class 'Rtcdatacli::TRtcAbsDataClientLink' which does not have a complete definition.





Delphi: 10.4.2
iPad ios: 14.4
PAServer: 12.2.10.3
MacOs: BigSur 11.2.2 (Intel)
XCode: 12.4 (12D4e)
RealThinClient SDK: v9.51 (2020.Q2)

No Problems on some Android Devices



rtcZLib.pas Line 616

method = 4
code = -6

Code:
function ZDecompressCheck(method:integer; code: Integer): Integer;
begin
  Result := code;

  if code < 0 then
  begin
    raise EZLibError.New(method, code);
  end;
end;
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #1 on: March 01, 2021, 10:33:27 AM »

Well, it looks like Embarcadero has introduced some changes to their ZLib implementation in the latest Delphi update, which broke compatibility with earlier ZLib versions. While this won't be a problem for Windows-only Applications, because all of them would be using the same pre-compiled ZLib files included with the RTC SDK, to ensure cross-platform ZLib support, you will have to tell the RTC SDK to use the default ZLib implementation included with Delphi, regardless of the platform you are targeting.

To do that, you need to open the "rtcDefs.inc" file in the "rtc\lib" folder and remove the dot (.) from this line ...

{.$DEFINE RTC_USEZLIB}

... so it looks like this ...

{$DEFINE RTC_USEZLIB}

.. then rebuild the RTC SDK and rebuild ALL your Projects.

This should make all your Projects use the "ZLib" implementation included with Delphi,
which should be compatible across all the platforms supported by Delphi, solving your ZLib exception.

Also, make sure to BUILD your Projects (not just COMPILE),
because the code being compiled depends on the target platform (it is NOT the same for all platforms).

PS. We have discontinued support for all platforms other than Windows
some time ago and have made a public announcement again about this, here:
https://rtcforum.teppi.net/index.php?topic=1717.msg5792#msg5792
Logged
bikotronic
RTC License
***
Posts: 11


« Reply #2 on: March 01, 2021, 11:57:27 AM »

thx for the info, now it works fine.

very sad that android and ios are no longer supported. do you come with new replacement components?
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #3 on: March 01, 2021, 01:05:09 PM »

Thanks for your feedback.

Regarding your question about a replacement,
please check point 3 of our public announcement,
which I've copy/pasted here for convenience ...

<Quote>

1. Because the current RTC SDK version has been working very well with no changes or interventions for more than two years (as of this writing), we've decided to keep the RTC SDK in "maintenance-only" state for the foreseeable future, which means that there will be NO MORE UPDATES released, unless we find a critical bug that needs fixing.

2. The ONLY platform we are now officially supporting is Windows (32-bit and 64-bit) and the ONLY components we support are those included in the "rtcSDK.dpk" package located in the "Lib" folder. We no longer provide any kind of support for other platforms (iOS, Android, macOSX, Linux, whatever) and we do NOT provide any kind of support for components or units in the "Legacy" folder.

3. We've abandoned our plans to develop a new component set for Delphi to replace the RTC SDK, since the main goal for that new Project was to make something that is much easier to maintain (it was going to be much simpler than the RTC SDK), but ... it turns out that the RTC SDK does not require much maintenance either, as long as I don't keep adding new features to it (see point 1).

</Quote>

Anyway ... replacement components for the RTC SDK were planned a few years ago, because we wanted to have something small and very easy to maintain (RTC SDK has grown rather big and complex), but ... the ONLY platform we were going to support was WINDOWS and the ONLY thing we actually needed is basic HTTP/S Server functionality, so ... even if that plan had materialized (which it didn't), it wouldn't have been a full-featured replacement for the RTC SDK.

Best Regards,
Danijel Tkalcec
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.025 seconds with 16 queries.