当然是pchar
用string类型其他语言无法调用你的dll

解决方案 »

  1.   

    同意楼上。就delphi而言,确实使用string类型非常方便,但是这是delphi特有的一种数据类型,如果dll只是提供delphi程序调用,选用它不错。
    但是要使dll具有通用性,还是适用pchar类型比较好!
      

  2.   

    如果只是自己调用,我觉得string比较好,处理起来简单么。
    如果为了兼容性,肯定要用pchar.
      

  3.   

    用pchar类型,返回参数的尾部会少掉一些字节
      

  4.   

    用pchar的好处是,如果你的机子上没有装delphi的话,也可以用;
    当时,如果你用string的话;那么你要在用的机子上同是有delphi的一个shareMenu才可以;
      

  5.   

    用pchar的好处是,如果你的机子上没有装delphi的话,也可以用;
    但是,如果你用string的话;那么你要在用的机子上同是有delphi的一个shareMenu才可以;
      

  6.   

    http://www.csdn.net/expert/topic/667/667096.xml?temp=.3140528
      

  7.   

    要不要为pchar参数开辟使用内存。
    我用  GetMem(..., ...);
    再用  FreeMem(...);
    居然在FreeMem那一行会提示“Invalid Pointer Operator”
    为什么?
      

  8.   

    var:Array[x1..x2]of type;
    PChar_:Pchar;PChar:=@var;
      

  9.   

    var
       a:array of char;setlength(a,NewSize);Ok
      

  10.   

    不是好不好的问题, 而是必须用 Pchar 类型。否则程序通不过的。 我刚刚解决这个问题。
      

  11.   

    You can use string first!:-)
    And if you call the dll, you can use Pchar(string) to convert its type.:-)
    But if you'r writting the dll modul, I think you can only use Pchar type.
      

  12.   

    为什么一定要用string与pchar呢?不可以用widestring吗?我觉得还是用widestring好。。
      

  13.   

    用wideString有什么好处呢,对于短字符串,用string和widestring是一样的
      

  14.   

    pchar好些,别的程序在用的时候可以通用
      

  15.   

    我写的dll用delphi调用没有问题,可是一用pb7就出错了。救命阿!