Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Indy TCP Server - Record versenden ?!

  Alt 6. Feb 2012, 22:01
Guten Abend,
es hat jetzt nicht direkt etwas mit Deinem Problem zu tun, aber ..

Delphi-Quellcode:
 TConnectionData = record
    Command: string;
    Typ: string;
    ParamCount: integer;
    Param: array [0..9] of string;
  end;
Mit Delphi >= 2009 ist ein String ein UniCode-String.
Ein UniCode-String ist ein Pointer der auf einen Speicherblock zeigt in dem die Zeichen liegen.

Wenn Du diese Record verschickst, werden nur die Pointer-Adressen verschickt.
Der Empfänger kann in der Regel nichts damit anfangen.

Delphi-Quellcode:
 TConnectionData = packed record
    Command: string[128];
    Typ: string[128];
    ParamCount: integer;
    Param: array [0..9] of string[64];
  end;
So werden wieder shortStrings verwendet

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat