Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: UTF8 String auf mobilen Plattformen

  Alt 3. Mär 2016, 15:02
Delphi-Quellcode:
Stream.Write(ptr^, len); // dereferenziert
Stream.Read(Bytes, len); //Stream.Read(@Bytes[0], len); // nicht dereferenziert

Stream.Write(Bytes, len); //Stream.Write(@Bytes[0], len); // nicht dereferenziert <<<<<<<
Stream.Read(Bytes, len); //Stream.Read(@Bytes[0], len); // nicht dereferenziert


Ganz vergessen ... Stream kann jetzt auch TByte direkt
Delphi-Quellcode:
  TStream = class(TObject) // altes Delphi
    function Read(var Buffer; Count: Longint): Longint; virtual; abstract;
    function Write(const Buffer; Count: Longint): Longint; virtual; abstract;
  end;

  TStream = class(TObject) // neueres Delphi
    function Read (var Buffer; Count: Longint): Longint; overload; virtual;
    function Write(const Buffer; Count: Longint): Longint; overload; virtual;

    function Read( Buffer: TBytes; Offset, Count: Longint): Longint; overload; virtual;
    function Write(const Buffer: TBytes; Offset, Count: Longint): Longint; overload; virtual;

    function Read (var Buffer: TBytes; Count: Longint): Longint; overload;
    function Write(const Buffer: TBytes; Count: Longint): Longint; overload;
  end;

Was heißt denn "geht" nicht?

Auf den zweiten Blick seh ich jedenfalls keinen Fehler mehr.




Bist du auf genau dieses Speichern angewiesen?
Wie wäre es mit einer Alternative?
z.B. TStringStream oder TReader+TWriter
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 3. Mär 2016 um 15:20 Uhr)
  Mit Zitat antworten Zitat