showmessage()是我用来做跟踪测试的。全通过。

解决方案 »

  1.   

    函数声明为stdcall
    默认的是pascal
    这两种方式的参数压栈正好是相反的
    关键是在pb那边的声明要一致
      

  2.   

    有可能是ybfy1-ybfy13的值没有传过去,给他们付一个值试试。
      

  3.   

    function inputcf(icno:pchar;    //医保ic  卡号。
                     lsh:pchar;     //医保收费单据号。
                     var fy1:longint;     //西药费。
                     var fy2:longint;     //中成药。
                     var fy3:longint;     //中草药。
                     var fy4:longint;     //放射费。
                     var fy5:longint;     //检查费。
                     var fy6:longint;     //治疗费;
                     var fy7:longint;     //输血费;
                     var fy8:longint;     //手术费。
                     var fy9:longint;     //化验费。
                     var fy10:longint;    //观察费。
                     var fy11:longint;    //输氧费。
                     var fy12:longint;    //其他费。
                     var fy13:longint):boolean;stdcall;函数要这样声明,才能把你的费用传给PB的程序。要不然只能传一个Boolean值过去。