//假设分配的医院编号、用户名、密码均为 654321
// 假 设 客 户 端 计 算 机 名 为 YB654321,IP 地 址 为 ’192.168.1.20’,mac 地 址 为 ’
XX-XX-XX-XX-XX-XX’
long ll_rtn = - 1
String ls_yybh=' 654321'
String ls_user=' 654321'
String ls_encpwd='654321'
String ls_cname = 'YB654321'
String ls_ip = '192.168.1.2'
String ls_mac = 'XX-XX-XX-XX-XX-XX'
String ls_svrIP='192.168.1.1' //假设此 ip 为前置机 ip
String lu_port ='9090' //假设前置机开放端口为 9090武汉市医疗保险信息系统—与 HIS 系统信息交换方案
21
//创建调用实例
ll_rtn=HnHisDll.Initialize(ls_svrIP,lu_port,li_sndBufSize,li_recvBufSize)
if ll_rtn <= 0 then
MessageBox(“系统错误”, “HNHISBridge 初始化调用实例操作异常! ”, StopSign!, OK!)
end if
//创建调用实例
ll_handle = HnHisDll.CreateInstace()
if ll_rtn =1 then
//将单项数据传入调用实例
ll_rtn = HnHisDll.SetParam(ll_handle, “FN”, “1”) //设置功能号 本示例是登录
ll_rtn = HnHisDll.SetParam(ll_handle, “YYBH”, ls_yybh) //医院编号
ll_rtn = HnHisDll.SetParam(ll_handle, “USERID”, ls_user) //医院 HIS 登录用户
ll_rtn = HnHisDll.SetParam(ll_handle, “PWD”, ls_encpwd) //医院 HIS 登录密码
ll_rtn = HnHisDll.SetParam(ll_handle, “COMPUTER”, ls_cname) //医院 HIS 登录计算机名
ll_rtn = HnHisDll.SetParam(ll_handle, “IP”, ls_ip) //医院 HIS 登录计算机 IP 地址
ll_rtn = HnHisDll.SetParam(ll_handle, “MAC”, ls_mac) //医院 HIS 登录计算机 MAC 地址
//运行该调用实例,向服务器发送请求并接收响应
ll_rtn = HnHisDll.Run(ll_handle)
If ll_rtn <> 1 then
//取详细信息
HnHisDll.GetSysMessage(ll_handle, ls_Error, 1024)
MessageBox(“错误”, “操作失败! ” + “~r~n” +”详细信息: ” + ls_Error)
End If
//获取返回的单项数据
String ls_fhz =space(1024),ls_msg =space(1024)
ll_rtn= HnHisDll.GetParam(ll_handle, “FHZ”,ls_fhz,1024) //返回值
ll_rtn= HnHisDll.GetParam(ll_handle, “MSG”,ls_msg,1024) //返回信息
…
end if
//释放调用实例
ll_rtn = HnHisDll.DestroyInstance(ll_handle)
If ll_rtn <> 1 then
MessageBox(“系统错误”, “HNHISBridge 释放调用实例操作异常! ”, StopSign!, OK!)
End If
问题1:
请问 ll_handle = CreateInstace() 这句话在foxtable 中有必要写吗? 如果有必要的话,要如何改写?
问题2:
我把PB中的引用 的GetParam函数
FUNCTION Long GetParam(Long pDataHandle, String paramName, REF String paramValue, UINT nMaxValueLenth) LIBRARY “HNBridge.dll”
改成了如下方式对吗? 主要是REF String 和UINT 这样改对吗?
Public Declare Function GetParam Lib "DLL\HNBridge.dll" Alias "GetParam"(pDataHandle As Long,paramName As String, paramValue As StringBuilder ,nMaxValueLenth As Integer) As Long
[此贴子已经被作者于2018/1/26 22:08:05编辑过]