Seit der Einführung von
TArray<T>
hab es immer wieder das Problem, dass ein
TArray<string>
nicht kompatibel war zu
TStringDynArray
, welches historisch in der
RTL verwendet wurde, wenn array von string übergeben oder zurückgegeben wurde.
Daher hat man sich schon lange gewünscht (siehe
RSP-16737), dass das angeglichen wird - nun endlich die Änderung in 10.3.
Die Deklaration
TStringDynArray = TArray<string>
ist nur ein Typalias im Gegensatz zu der vorherigen Deklaration, wo es ein neuer eigener Typ war (und nein,
TStringDynArray = type TArray<string>
geht nicht).
Welche Implikationen dies nun auf die Kompatibilität von Anwendungen vor und nach 10.3 hat, wurde scheinbar übersehen (war mir auch nicht klar - ich mach nix mit dem eingebauten Webservice Zeugs).
Mir ist nur gerade nicht klar, an welcher Stelle die beiden Versionen nicht kompatibel sind - in der Beschreibung der Webservice Schnittstelle nach außen? Das könnte sich durchaus fixen lassen, indem 10.3 dann erkennt, was es mit einem TStringDynArray oder wie auch immer es nach außen spezifiziert ist, anstellen soll).
Kannst du evtl ein Demoproject erstellen, um den Fehler darzustellen? Lässt sich dann auch gut als Bug bei Embarcadero reporten.