Ich habe es eben ausprobiert. Das geht tatsächlich nur dann, wenn man MyString als "AnsiString" deklariert.
Ich sehe hier allerdings auch kaum Raum für implizite Konvertierungen. "CopyMemory()" ist schon eine Sache für sich.
// EDIT:
Ich bin mir nicht sicher, ob ich Dich richtig verstanden habe. Das war mein Test-Code:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var MyString : AnsiString;
data : array[0..4] of byte;
DataLen : integer;
begin
DataLen:= SizeOf(Data);
data[0]:= 72; // H
data[1]:= 65; // A
data[2]:= 76; // L
data[3]:= 76; // L
data[4]:= 79; // O
SetLength(MyString, DataLen);
CopyMemory(@MyString[1], @Data[0], DataLen);
ShowMessage( MyString );
end;
Daniel R. Wolf
mit Grüßen aus Hamburg