利用MOVE进行内存拷贝无效的有关问题

利用MOVE进行内存拷贝无效的问题
type
    T   =record
        str1:string[10];
        str2:string[5];
    end;

procedure   TForm1.Button1Click(Sender:   TObject);
var
    tmpStr   :string;
    tmp:T;
    tmpP1,tmpP2:PChar;
begin
    tmpStr   :=   'zzzzz ';
    FillChar(tmp,sizeof(T),#0);
    tmpP1   :=   @tmpStr[1];
    tmpP2   :=   @(tmp.Str1[1]);
    Move(tmpP1,tmpP2,5);
    ShowMessage(tmp.str1);
end;

tmp.str1中却没有任何数据,为什么MOVE没把数据复制过去?

------解决方案--------------------
Move(tmpP1^,tmpP2^,5);
------解决方案--------------------
var
tmpStr :string;
tmp:T;
tmpP1,tmpP2:PChar;
begin
tmpStr := 'zzzzz ';
FillChar(tmp, sizeof(T), #0);
tmpP1 := @tmpStr[1];
tmpP2 := @(tmp.Str1[0]);
Move(tmpP1^,tmpP2^,5);
tmp.str1 := TrimRight(tmp.str1);
ShowMessage(tmp.str1);
end;
------解决方案--------------------
Move(tmpP1^,tmp,5);
------解决方案--------------------
move穿的参数你在仔细看看
是指针还是值?