showmessage后面应该是跟的string类型,如果我声明一个变量为PCHAR类型,为什么用showmessage(变量名)可以显示出来,一直搞不懂,为什么?

解决方案 »

  1.   

    很多时候,我们只要do it,而不用去明白why it。因为我们只是user,而不是builder
      

  2.   

    PCHAR类型自动会转换成String类型,看看StrPas这个函数就知道了.
      

  3.   

    那为什么在delphi会采取这种措施呢,有什么好处?把PCHAR自动转换为string呢,那意思是不是可以把PCHAR类型当作string类型呢?在string类型后面是有一个终止符,我刚看了一下函数的作用是把无中止符的转换为string
      

  4.   

    PChar是为了兼容C/C++,WINAPI所产生的。
    PChar的结尾是#0,而String的结尾是\0。
    所以在调用API的时候,用PChar
    而实际上Delphi的String效率上比PChar高很多,所以运行字符串的时候尽量用String。
      

  5.   

    Delphi不做转换,用API时还不疯了。
    所以Delphi要把String做到功能十分强大。