Wie wärs damit?
Delphi-Quellcode:
type
TDynByteArr = Array of Byte;
function TryByteArrayToString(const bArr: TDynByteArr;
var Str: String): Boolean;
var
i : Integer;
begin
Result := (sizeof(bArr) <> 0) or false;
if Result then
begin
SetLength(Str, High(bArr)+2);
for i := 0 to High(bArr) do
try
Str[i+1] := chr(bArr[i]);
except
Result := false;
end;
end;
end;
function TryStringToByteArray(const Str: String;
var bArr: TDynByteArr): Boolean;
var
i : Integer;
begin
Result := (Str <> '') or false;
if Result then
begin
SetLength(bArr, sizeof(Str));
for i := 1 to sizeof(Str) do
try
bArr[i-1] := ord(Str[i]);
except
Result := false;
end;
end;
end;
Dürfte eigentlich alles einwandfrei funktionieren. Wenn du Array of Bytes verwendest musst du beim Funktionsaufruf erst zu TDynByteArray casten.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.