Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#1

Zweiter versuch RIO vs Tokyo TStringDynArray

  Alt 1. Apr 2019, 08:31
Also ich den Post vorher abgeschickt hatte, war ich grundlos wieder ausgeloggt und nach dem einloggen kam der Post nicht durch. Alles geschriebene war verloren.... deswegen jetzt nur kurz...um noch so ein Disaster zu vermeiden.

- Muss die niedrigen Android Versionen mit Tokyo-Kompilaten und die hohen Android Versionen mit RIO-Kompilaten versorgen!
- Benutzte nur einen Webservice für beide Kompilate der selben APP.
- System.Types.TStringDynArray wird oft im Webservice Interfaceteil exportiert
- TMylist = Array of TMyRemotable wird oft im Webservice Interfaceteil exportiert
- TMylist = Array of TMyRemotable wird normal im im WebserviceClient abgebildet.

-In Rio gibt es System.Types.TStringDynArray nicht.
-Codegenerierung erzeugt einen Webservice Client mit TArray<String> anstatt mit TStringDynArray oder array of String
-Wenn ich in RIO Strg+linkclick im Serverinterface auf TStringDynArray klicke dann führt mich das zu
Delphi-Quellcode:
unit System.Types
[...]
type
  TArray<T> = array of T;
-Wenn ich in TOKYO Strg+linkclick in der APP auf TStringDynArray klicke dann führt mich das zu
Delphi-Quellcode:
unit System.Types
[...]
type
  TStringDynArray = array of String;

Der durch RIO generierte Webservice Client ist natürlich inkompatibel mit Tokyo
Da in der ganzen App TStringDynarray verwendet wird und Tokyo TStringDynArray nicht kompatibel zu TArray<String> interpretiert

Warum diese Änderung?
Wo ist der Ausweg?

Embarcadero warum diese Fake DynArrays?
Sad.
How to make DynArrays great again?

Wieso versteht RIO überhaupt was TStringDynArray ist? Ist das kompiler magic? Weil der Bezeichner kommt ja nirgends mehr in der System.types.pas vor.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty ( 1. Apr 2019 um 08:50 Uhr)
  Mit Zitat antworten Zitat