Forum: Object-Pascal / Delphi-Language
by jaenicke,
24. Jun 2018
Wo möchtest du dort jetzt etwas ersetzen? AnsiString durch TBytes? Meinst du das?type
TReadBuffer = record
BufferBytes: array of Byte;
class operator implicit(const ABuffer: TReadBuffer): TBytes;
procedure Clear;
end;
class operator TReadBuffer.implicit(const ABuffer: TReadBuffer): TBytes;
begin
SetLength(Result, Length(ABuffer.BufferBytes));
Forum: Object-Pascal / Delphi-Language
by jaenicke,
16. Jun 2018
Gar kein ifdef, nur TBytes auf allen Plattformen.
Das ist ja was ich geschrieben hatte... es macht keinen Sinn mit IFDEF verschiedene Typen zu nutzen. Denn du musst den Code ohnehin für TBytes anpassen und hast dann sauberen Code. Da macht es doch keinen Sinn per IFDEF unter Windows wieder auf unsauberen Code umzuschalten...
Beides unter einen Hut bekommen funktioniert nicht, weil TBytes...
Forum: Object-Pascal / Delphi-Language
by jaenicke,
15. Jun 2018
Die Logik verstehe ich nicht. :? Dabei hilft es doch auch nicht mit verschiedenen Aliastypen auf den verschiedenen Systemen zu arbeiten. Wenn man TBytes auf einer Plattform benutzt, dann kann man das auch gleich überall nutzen, da man die Anpassung dafür ja ohnehin machen muss.
Warum sollte man dann auf einer Plattform sauber mit TBytes arbeiten und auf der anderen (vermutlich noch mit IFDEFs...
Forum: Object-Pascal / Delphi-Language
by jaenicke,
14. Jun 2018
Warum benutzt du denn nicht einfach überall TBytes? Wenn du von Datenaustausch sprichst, hört sich das so nach Missbrauch von AnsiString als Datencontainer an.
Forum: Object-Pascal / Delphi-Language
by jaenicke,
12. Jun 2018
AnsiString gibt es dort nicht, nein. Was es soweit ich mich erinnere gibt ist RawByteString.
Bist du sicher, dass du dort so etwas brauchst?