DELPHI下使用pchar的一个范例 
procedure TForm1.Button1Click(Sender: TObject);
var
s1:String;
p1:PChar;
begin
  GetMem(p1,512);
  try
    s1:='china';
    strpcopy(p1,s1);
    p1[0]:='C';
    Canvas.TextOut(50,65,p1) ;
  finally
    FreeMem(p1);
  end;
end;PCHAR为指向一字符串的指针,与c中的char   *类似,以零字符结束   
  而string为delphi中的字符串类型,内部保存有字符串的长度和引用计数,而且属于生存期自管理类型,当引用计数为零时,释放内存,   
  a:string;   
  b:string;   
  a:='abc';   
  b:=a;这里只是把a的引用赋给b,并把引用计数加1,而如是PCHAR,则需要strcopy,拷贝一块内存   
  就说这些吧,   
一般情况下,PCHAR类型可不经转换直接当STRING使用;   
  STRING需要转换到PCHAR,比如:   
  APPLICATION.MESSAGEBOX(PCHAR(STRING),PCHAR(STRING),MB_ICONQUESTION);