What happend to DelphiRTL?

DelphiRTL is marked as deprecated and after some updates ago it is not possible to compile old code that uses it.

Is there any announcement of this ? What is the future direction? Can I still use it and how ?

I am a bit confused about this step, since DelphiRTL was once announced as the future cross platform …

Adrian.

Hi Adrian,

Delphi RTL is still available from our open-source repository at GitHub - remobjects/DelphiRTL: Part of the RTL2 project, a Delphi-compatible RTL and non-visual VCL library implementation. and will continue to work; it is just no longer actively maintained or expanded by us (although we’ll entertain bug reports and/or consider future compiler updates that might require adjustments). We’d welcome community pull requests, of course.

We decided to stop shipping the pre-compiled binaries because we fund the library (and its naming) caused confusion and overlap with the new Island/Delphi featyre and functionality, which allows you to use the actual Delphi RTL, VCL and all other packages (first and third party), on the Island platforms. (See Island/Delphi: Using Delphi APIs from Elements).

For serious code bases that really want to continue leveraging the vast fraewokr space exposed by Delphi, but using the Oxuygene compiler and language, re recommend using Island/Delphi.

Paths forward are:

  • If your existing code base uses DelphiRTL, by all means, keep using it
  • For newly porting existing Delphi projects over to “pure Oxygene”, DelphiRTL is still an option, but i would recommend (especially when moving to, e.g., NET) to use DelphiRTL as a stop-gap, and migrate to the more native APIs in Elements (be that Elements RTL, or just .NET’s own native APIs)
  • For migrating heavily RTL/VCL/&Co-dependent Delphi projects to Oxygene mainly for being able to use the better compiler, i recommend using Island/Delphi.

FTR, DelphiRTL was never considered our favorite or suggested solution for cross-platform development – that is, Elements RTL (GitHub - remobjects/RTL2: Next Generation RTL for Elements — replaces Sugar.). DelphiRTL always was (and still) is a stop-gap portability library to make it easier to bring Delphi code with a very light dependency on Delphi’s RTL (but not much more of Delphi’s ecosystem over to Oxygene.

It should still serve that purpose as it always has.

:folded_hands:

Hi Marc,

thanks for the clarification.

You mentioned the Island/Delphi feature which can be used for the Island platforms. But what I understand it cannot be used for example to compile to Island/Linux when I only have the windows Delphi libraries - right ?

So if I want to port Delphi code from Windows to Linux (nothing visual) it is better to use the DelphiRTL as a compatiblity layer - right ?

Thanks, Adrian.

For Island/Delphi you need to “bring your own VCL”. Delphi’s runtime librariesa aee Embarcdero’s intelletual property, we cannot povide those. If you have a license for Delphi that has packages for the platforms you need, then you can use Elements to build against those packages.

If you don’t own a Delphi version that has Linux support, then yes, DelphiRTL is the closest you can get for access to the “Delphi-like” APIs, so that’s your best option.