以下是我调用的代码;但是一运行程序就出错,连启动都启动不了。
哪位如果愿意帮忙看看,请加我QQ:152643  我把DLL和说明发给您。您在自己的电脑上试试。
这个DLL是短信群发平台用的。比较简单。不会用您太多时间。Type
  RegFee = Record  //查询余额
     result: integer;//0表示成功,其它表示失败
     balace: integer; //返回余额
     des:string;  //记录服务器返回的描述,如果有的话
  End;
Type
  Res = Record  //查询余额
     result: integer;//0表示成功,其它表示失败
     des:string;  //记录服务器返回的描述,如果有的话
  End;
  //功能函数getBalance查询余额
  //reg 注册号(字符串型,必填)
  //pwd 密码(字符串型,必填)
  function getBalance(reg:string;pwd:string):RegFee;stdcall;external 'SJBhttp.dll';
  //功能函数sendMulSms给多个手机号发送相同内容的短信
  //reg 注册号(字符串型,必填)
  //pwd 密码(字符串型,必填)
  //Tim定时时间(字符串型,可以为空,为空表示立即发送到手机),格式yyyy-mm-dd hh:mm:ss
  //content 短信内容(必填)
  //phone 手机号码列表,一次最多个(必填)
  function sendMulSms(reg:string;pwd:string;tim:string;content:string;phone:string):Res;stdcall;external 'SJBhttp.dll';

解决方案 »

  1.   

    怎么都是string类型,接口中应该不是string吧,你改成pchar试试
      

  2.   

    都改成PCHAR了也一样,一运行还是提示应用程序正常初始化失败
      

  3.   

    以下是DLL说明文档中的部分内容:
    功能函数getBalance查询余额
    示例:
     getBalance(ByVal reg As String, ByVal pwd As String) As RegFee
    功能:
     查询余额
    传递参数:
     reg 注册号(字符串型,必填)
     pwd 密码(字符串型,必填)
    返回参数:
     RegFee对象,RegFee对象各字段含义如下:
        result(整型),0表示成功,其它表示失败
        balace(整型),返回余额
    des(字符串),记录服务器返回的描述,如果有的话
    6.1.3. 功能函数sendMulSms给多个手机号发送相同内容的短信
    示例:
     sendMulSms(ByVal reg As String, ByVal pwd As String, ByVal tim As String, ByVal content As String, ByVal phone() As String) As Res
    功能:
     给多个手机号发送相同内容的短信
    传递参数:
     reg 注册号(字符串型,必填)
     pwd 密码(字符串型,必填)
     tim 定时时间(字符串型,可以为空,为空表示立即发送到手机),格式yyyy-mm-dd hh:mm:ss
     content 短信内容(必填)
     phone 手机号码列表,一次最多个(必填)
    返回参数:
     Res对象,Res对象各字段含义如下:
        result(整型),0表示成功,其它表示失败
    des(字符串),记录服务器返回的描述,如果有的话
      

  4.   

    你的类型赶紧和dll 中不一致,phone 这是列表,你传的是string,它这好像是vb做的dll,他没有提供demo吗,感觉不通用啊
      

  5.   

    他是用VC编写的,这个说明是ASP.NET的DEMO说明。没有DELPHI的DEMO ,phone是列表没错。但是现在出错在查询余额的函数里,因为我在按键事件里只调用了查询余额的函数,如果我不调用就能正常启动。第二个发送短信的函数没有调用过,所以就算错,也不是现在。
      

  6.   

    我记得我好像也遇到到过类似的问题 你好像要在你的主程序里引用 ShareMem 单元 特别是别人的DLL不很DELPHI编写的话,就有类似的问题,所以他们说的也是对的 最好用pchar()类型