Du kannst den Record nicht komplett senden, sondern musst den String gesondert behandeln. Die Stringliste ist dann nicht mehr Bestandteil des Records, sondern wird mit einem zweiten Schreibbefehl zu dem MemoryStream hinzugefügt. Auf der Empfangsseite muss das Ganze wieder entsprechend zerlegt werden.
Delphi-Quellcode:
type
CustomRec = record
RecID : Integer;
RecVorgang : String[15];
RecStatus: integer;
....
RecStrLen: Integer; //<- damit weiß ich auf der Empfangsseite wie lang der der nachfolgende Text ist
end;
...
temp := Stringlist.Text;
RecStrLen := Length(temp);
MStr.Write(Rec,SizeOf(Rec));
MStr.Write(Pointer(temp)^, Length(temp));
MStr.Position := 0;