hmmm, AnsiStrings, Codepages, Shortstrings hatte ich schon alles probiert. Das mit dem RawByteString hört sich gut an, funktioniert aber immer noch nicht
. Alles was grösser Ord(127) ist, wird in irgendeinen sinnlosen Wert gewandelt, z.B. $ff => $3f.
Im diesem konkreten Beispiel rufe ich die UDPClient.Send Funktion von
Indy auf, wenn man diese verfolgt, sieht die so aus:
Code:
procedure TIdUDPClient.Send(const AData: string; AByteEncoding: IIdTextEncoding = nil
{$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF}
);
begin
Send(Host, Port, AData, AByteEncoding{$IFDEF STRING_IS_ANSI}, ASrcEncoding{$ENDIF});
end;
Pseudo-Aufruf:
UDPClient.Send(RawByteString(....));
Also Encoding = nil