本帖最后由 sibad_sh 于 2009-08-10 18:00:50 编辑

解决方案 »

  1.   

    http://blog.csdn.net/liangpei2008/archive/2009/04/25/4121606.aspx
      

  2.   

    liangpei2008: 你好!
    看了你的《编写dll时的内存分配策略》,发现自己懂的好少。从你的例子
    1: 可以使用string类型的变量,对吧?
    2: 当然2也可以了。问题: 接口变量我统一都采用pchar,函数中有部分变量是string类型的。
    function fun1(p: pchar): pchar; stdcall;  如:"123456789"(入参) =>fun1(调用) => "abcdefghi"(结果)
    发现这个函数是运行正确的但另一个函数function fun2(p: pchar): pchar; stdcall;
    理应:"abcdefghi"(入参)=> fun2(调用) => "123456789"(结果) 可我运行的结果却是"1234",后面的都没有了。
      

  3.   

    你可以看看windows api的习惯都是通过参数传递pchar 这个pchar由调用方分配内存 这样可以省掉不少麻烦