Fr0sT.Brutal 900 Posted August 9, 2020 6 hours ago, A.M. Hoornweg said: Totally apart from the usual string problems (unicode/ansi and codepages), there's the issue of Embarcadero deciding to move RTL functions from one unit to another, of functions being declared "deprecated" and of functions suddenly being declared "inline". So in order to suppress such warnings, I need to know when Embarcadero decided to pull off such changes. Well, when you buy a license for some version, you get all previous ones so there's nothing complicated in having all required versions available. Anyway you can contribute to Jedi inc file or to my abovementioned repo to make info available for others. Share this post Link to post
A.M. Hoornweg 144 Posted August 10, 2020 15 hours ago, Fr0sT.Brutal said: Most of these checks could be performed with IF DECLARED clause. Thanks to it very few features must be defined manually, just some language features or unit relocations. I maintain a repo with defines for main compiler features here so use the provided info freely or make PR's/issues to add something that is missing. This doesn't work for overloaded functions. For example, function "strlen" (sysutils.pas) is ansi-only in Delphi 2007. Then, in Delphi 2009 an overload was created for unicode so there were two versions. In XE4 the ansi version was duplicated in unit Ansistrings so from then on there were three. And then in Delphi 10.4 Sydney the original ansi version in sysutils.pas got "deprecated". But I like your *.inc files, they look solid and they are a good reference as well. However I see that 10.4 Sydney hasn't been implemented yet? Share this post Link to post
Fr0sT.Brutal 900 Posted August 10, 2020 (edited) 3 hours ago, A.M. Hoornweg said: This doesn't work for overloaded functions. For example, function "strlen" (sysutils.pas) is ansi-only in Delphi 2007. Then, in Delphi 2009 an overload was created for unicode so there were two versions. In XE4 the ansi version was duplicated in unit Ansistrings so from then on there were three. And then in Delphi 10.4 Sydney the original ansi version in sysutils.pas got "deprecated". Yep I've seen similar cases, mostly they're solved by conditional usage of AnsiStrings unit controlled by HAS_ANSISTRINGS define 3 hours ago, A.M. Hoornweg said: However I see that 10.4 Sydney hasn't been implemented yet? Yes, still not implemented. I plan to make additions in the near future upd Added 10.4 and some more defines for previous versions Edited August 10, 2020 by Fr0sT.Brutal Share this post Link to post
Kyle_Katarn31 0 Posted September 27, 2020 On 5/31/2020 at 8:59 PM, FPiette said: Simply remove the inline keyword. This will not affect the function, only the performance. Is it fixed already in 8.65? Share this post Link to post
Angus Robertson 574 Posted September 27, 2020 V8.65 is not released yet, but I did build it Delphi 7 successfully several weeks ago, so use the overnight zip. Angus Share this post Link to post
Kyle_Katarn 1 Posted September 27, 2020 OK, i'll re-test when 8.65 is out Share this post Link to post