问题1
function informationS(dr_name:string;str:string):Pchar;stdcall;
在这个Result 返回了一个  Pchar类型的参数
那么请问我应该如何使它返回多个 Pchar类型的参数?
问题2
一个字符串"企业名称:123 企业类型:qy_typwere 主要产品:qy_product 成立年份:qy_date企业名称:1111 企业类型:qy_typwere 主要产品:qy_product 成立年份:qy_date
企业名称: 1234443 企业类型:qy_typwere 主要产品:qy_product 成立年份:qy_date"
这是我在DLL里面编写从数据库去出多条记录 以一个字符串形式返回 但是我想把它有续排列出来 请问我应该怎么办?
其实这两个是同一个问题
我也在考虑这两种方法
请高手帮忙

解决方案 »

  1.   

    dll 不能返回多个参数.
    可以用如下方法:
    方法1、返回一个类的地址
    写一个类,将需要返回的参数作为类的成员变量。将此类的实例的指针传给 dll 函数,dll 填写这些成员变量就可以了方法2、将要返回的字符串按规定的长度(或者用特殊分割符连接起来
      如: string1|strint2|string3,  也可以按一定的长度, string1      string2    string3
        程序调用 Dll 得到返回串后,根据自己定的规则,解析分割就可以了。
      

  2.   

    用变参不就行了吗?
    返回值最好HResult之类的,仅用用判断调用是否成功,用变参返回所要的数据!
      

  3.   

    chinasdp()  的答案也可以.如:
      DllFunction Get...Info(a,b,c,....z: pstring):integer;
    begin
      //读数据
      a^ := '...';
      b^ := '...';
      ...
      z^ := '...';
      Result := 0;  //成功返回0,如果失败,可以返回失败的代码,end;