定义________________________________________________________________
Public Type InputParam            '//输入参数
  TransType As String           '/*交易类型 */
  Amount As String * 12         '/*交易金额 仅仅交易类型为“消费”类型时有效000000001234 表示金额为12.34元*/
  Track2 As String * 37         '/*二磁道数据*/
  Track3 As String * 104        '/*三磁道数据*/
  CounterNo As String * 8       '/*取消或退货时需要提供的终端号*/
  OpId As String * 6            '/*操作员标识*/
  TraceNo As String * 6         '/*收银系统的交易票据号*/
  OrigVoucherNo As String * 6   '/*取消或退货时需要提供的原交易凭证号*/
  OrigCounterNo As String * 9
End Type
Public Type OutputParamm       '//输出参数
  Resp_Code As String * 2      '/*交易响应码  */
  Resp_Chn As String * 50      '/*交易结果    交易响应码的中文解释*/
  Resp_Eng As String * 50      '/*交易结果    交易响应码的英文解释*/
End Type
Public srcs As InputParam      '输入参数
Public sccs As OutputParamm    '输出参数
Declare Function Abmcs Lib "ABMSCLI.dll" (STInputParam As InputParam, STOutputParam As OutputParamm) As Integer'______________________________________________________________________________
调用Dim settle_skls As Long
With srcs
     .TransType = "0"                '/*交易类型 */
     .Amount = "000000001234"        '/*交易金额 仅仅交易类型为“消费”类型时有效000000001234 表     .Track2 = "2121212121212"       '/*二磁道数据*/
     .Track3 = ""                   '/*三磁道数据*/
     .CounterNo = "101001"          '/*取消或退货时需要提供的终端号*/
     .OpId = "0000"                '/*操作员标识*/
     .TraceNo = "89200702154545"   '/*收银系统的交易票据号*/
     .OrigVoucherNo = "115454"     '/*取消或退货时需要提供的原交易凭证号*/
     .OrigCounterNo = "1212"
End With
settle_skls = Abmcs(srcs, sccs)
问题_______________________________________
   我如何接收返回的数据:SCCS------------------------------------------------

解决方案 »

  1.   

    Declare Function Abmcs Lib "ABMSCLI.dll" (byref STInputParam As InputParam, byref STOutputParam As OutputParamm) As Integer 你那函数要接受已参数传入
    然后执行完那函数后,直接取你定义为传出的参数就可以了
    settle_skls = Abmcs(srcs, sccs) 
    sccs就是你要的结果
      

  2.   

    感谢大家的回复,首先Abmscli.dll是银行提供的接口函数,可能是自定义的,并非标准接口,
                  另外,对于接收传回的数据如何定义我还是没搞清楚,
    因为
    sccs被定义为:
    Public Type OutputParamm      '//输出参数 
      Resp_Code As String * 2      '/*交易响应码  */ 
      Resp_Chn As String * 50      '/*交易结果    交易响应码的中文解释*/ 
      Resp_Eng As String * 50      '/*交易结果    交易响应码的英文解释*/ 
    End Type 
    我如何获取三个值呢
      

  3.   


    首先,Declare时参数应该以byref传递;然后,如前所述,sccs就是你所需要的输出参数,用以下方法引用输出参数的值:sccs.Resp_Code
    sccs.Resp_Chn
    sccs.Resp_Eng
      

  4.   

    按照你的API声明,当你执行完settle_skls = Abmcs(srcs, sccs)这一句后,就可以直接SCCS的数据了啊。
    settle_skls = Abmcs(srcs, sccs)
    debug.print sccs.Resp_Code