Hi,
also bei mir wird kopiert:
Delphi-Quellcode:
var
data: PChar;
s: String;
begin
data := StrAlloc(6);
ZeroMemory(data, 6);
s := 'Hallo';
StrPCopy(data, s);
ShowMessage(String(data));
StrDispose(data);
end;
Allerdings brauchst du diesen Aufruf von StrPCopy() aus verschiedenen Gründen nicht: In deinem Code hast du Data[] schon innerhalb der Schleife befüllt und die Routinen um StrPCopy() sind auch nur noch aus Gründen der Abwärtskompatibilität vorhanden, da Borland AnsiStrings intern eh als PChar verwaltet. Da würde die Zuweisung s := data völlig ausreichen.
Grüße vom marabu