string Delphi替你管理内存,PChar 要你自己管理内存。
其他没区别不大,相互可以强制转化,都是以\0结尾。不过WinAPI函数都要用PChar。

解决方案 »

  1.   

    PCHAR为指向一字符串的指针,与c中的char *类似,以零字符结束
    而string为delphi中的字符串类型,内部保存有字符串的长度和引用计数,而且属于生存期自管理类型,当引用计数为零时,释放内存,
    a:string;
    b:string;
    a:='abc';
    b:=a;这里只是把a的引用赋给b,并把引用计数加1,而如是PCHAR,则需要strcopy,拷贝一块内存
    就说这些吧,
      

  2.   

    pchar是一个指针类型,以0结尾;
    string是一个字符串类型,PASCAL 结构,可以转化;
    如:a:pchar;
        b:string;
      假如a和b都非空;则有
        b:=strpas(a);