Delphi 10.3.1 compiler generates code that issues an exception when compiled to 64 bits

This is bug and should be reported1. As mentioned in the question, it fails for every type of open array.

A workaround is to define the array as a const in the method:

procedure Setup(const aParams: array of const); 

Declaring the open array as const, passes the array by reference, while without the const, it will be passed by value as a copy. In this case, the Rio version fails.


1 It was reported as: Access violation when calling an inherited function with an open array parameter in Rio