高手,帮忙看看,关于删除目录的函数!解决方案

高手,帮忙看看,关于删除目录的函数!
function   DelTree(var   p   :string)   :string;                 //删除目录包含子目录。
var   T:TSHFileOpStruct;
begin
    With   T   do
    Begin
    Wnd:=0;
    wFunc:=FO_DELETE;
    pFrom:=Pchar(P);
    pTo:=nil;
    fFlags:=FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;
    hNameMappings:=nil;
    fAnyOperationsAborted:=False;
    End;
    SHFileOperation(T);
end;


为什么上面的函数只能删除数字目录,如果是用汉字命名的目录就删除不了?要删除汉字目录应该怎么改?

------解决方案--------------------
pFrom := PChar(source + #0);
pTo := #0#0;