type
ppchar=^pchar;procedure cs(var ss:ppchar); //修改字符串数组ss的值,因要做成dll给pb调用,不能用array of string.
用@ss只能取整个数组的首地址,能不能拿其它行的首地址,或者有没有其它方法改变ss的值后返回?

解决方案 »

  1.   

    pchar; 本身就是指针了,对它修改,就应该可以反映到ss上的,不用ppchar=^pchar;
      

  2.   

    用pchar就行,而且很好!
    和c的 char*对应!
      

  3.   

    我说的是字符串数组啊,不是字符串,字符串当然好做啦,直接赋值就行了,问题是字符串数组怎么修改?也就是:ss是pb传进来的string bb[]类型字符串数组,怎样修改ss的值,我试了多种方法都不成功(只能修改第一行的值),pb的string类型相当于c的char*,怎样把delphi的字符串数组转换成pb的字符串数组,格式上有什么不同.请各位赐教。
      

  4.   

    pchar就可以  可以用getmem(Pchar类型,要分配的大小)就可以然后每次调用可以用Inc增加取得下一个字符
      

  5.   


    type  
    ppchar=array[0..3] of pchar;  
     
    procedure  cs(var  ss:ppchar);  
    ss[0]:="fsf";就可以了,注意的是数组维数固定