Thank you for the support.
The code that I managed to extract for the test case has always compiled and worked.
We have ~1000 tests that run the same codebase across different platforms.
(E500) It is weird. If I run the code in the default console app :
namespace ConsoleApplication8;
type
Program = class
public
procedure Val(
const _str : String ;
var _val : Int64 ;
var _code : Integer
) ;
begin
var str : String ;
var i : Integer ;
_code := 0 ;
for i := length( _str ) downto 1 do begin
str := _str.Substring( 0, i ).TrimEnd ;
str := _str.Substring( 0, i ).TrimEnd + '=' ;
end ;
end ;
end;
end.
It compiles. There are lots of cases where a new template code (without a split to interface and implementation) compiles, but not in the “Delphi” template.
(E62) worked.
Without DCM, TrimEnd suggests a function without and with a parameter. In DCM mode, the code complete shows only one version with a parameter.
FreeObject( var _obj ) always worked. But e.g using FreeObject inside a Blazor project and a Task body crashes the app. I think we reported this some time ago.
Depending on Suppressed Warnings Color.red works or not. When I change it to RED, the editor replaces the selected to red. Without suppressing W I just get warnings about text case.
So the same code, depending on the project settings, compiles in a different way.
Anyway, I appreciate your work and improvements. I will test them in the next build.
Artur