......
var
p : ^string;
t,s: string;
s:=self.edit1.text;
p:=@s;
t:=p^;
showmessage(t);
///可以显示edit1.text的值,如果改为
p : pchar;
则无法显示!
求:
1,原因!2,pchar的相关资料!

解决方案 »

  1.   

    估计你是用法不对var
    p : pchar;
    t,s: string;s := self.edit1.text;
    p := pchar(s);
    t := p;
    showmessage(t);
      

  2.   

    s其实是一个指针,指向一个string对象,p:=@s得到的只是这个指针的地址,所以显示不对,如果用p:=@s[1],就对了
      

  3.   

    s := Edit1.Text ;
      P := @s[1] ;
      //t := P^ ;
      t := p ;  // 从 Delphi 开发人员指南可以看到,String的结构 兼容 PChar 的结构 ,
                // PChar 可以直接赋指给 String ;
      ShowMessage(t) ;
      

  4.   

    p如果是pchar类型,那么直接p :=PChar(s);就可以了
    下面给t赋值就这样t :=StrPas(p);
    showmessage(t);你看能不能显示,肯定可以