vb.net调用DLL文件里的函数是 出现闪退现象
vb.net吧
全部回复
仅看楼主
level 1
种子792 楼主
vb.net调用DLL文件里的函数是 出现闪退现象是什么原因?
2017年04月01日 02点04分 1
level 1
种子792 楼主
3.1.5.读取个人基本信息及帐户信息(个人编号……)
Syntax:
int GetPersonInfo( int Flag, int MedKind, char* SysDate, char* NoCardNo ,int* AppCode, char* DataBuffer )
Arguments:
Flag IN IC卡充值标志,1为充值,0为不充值。退费时为了提高速度,不需要再充值
MedKind IN 医疗类别,1为门诊,2 为住院,3门诊慢性病,9-门诊大病(规定病种)
SysDate IN 系统时间(yyyymmdd);
NoCardNo IN 无卡人员编号(原农合号、身份证号),有卡人员写0
AppCode OUT 0 - 后台执行成功,-1 - 后台执行失败
DataBuffer OUT
IC卡号|区号|个人编号|身份证号|单位编号|姓名|出生日期|是否公务员|性别|医疗人员类别|IC卡余额|
是否公务员 1—是,0—否
Return:
0 - SUCCESS
-1 - FAILURE
声明:
Public Declare Function 读取个人基本信息及帐户信息 Lib "DBLib.DLL" Alias "GetPersonInfo" (ByVal IC卡充值标志 As Integer, ByVal 医疗类别 As Integer, ByVal 系统时间 As String, ByVal 无卡人员编号 As String, ByRef 执行成功与否 As Integer, ByVal 结果集 As String) As Integer
调用:
ZhiXingJg = Space(1024)
ZhiXingFhz = 读取个人基本信息及帐户信息("0", "2", "20170331", "0", "0", ZhiXingJg)
2017年04月01日 02点04分 2
level 11
我记得.net 好像对DLL有要求
我以前用过一个dll - mediainfo.dll
.net就不支持
我也不是很懂,等大神来吧。
2017年04月01日 04点04分 3
level 1
种子792 楼主
自顶一下
2017年04月01日 05点04分 4
level 9
应该是函数声明的问题,char* 类型表示这是char的地址。
2017年04月01日 10点04分 5
level 1
种子792 楼主
应该怎样声明呢?@企鹅列兵
2017年04月05日 01点04分 6
level 1
种子792 楼主
Public Declare Function 读取个人基本信息及帐户信息 Lib "DBLib.DLL" Alias "GetPersonInfo" (ByVal IC卡充值标志 As Integer, ByVal 医疗类别 As Integer, ByRef 系统时间 As String, ByRef 无卡人员编号 As String, ByRef 执行成功与否 As Integer, ByRef 结果集 As String) As Integer
这是修改后的,还是不行,程序闪退
2017年04月05日 01点04分 7
level 1
种子792 楼主
自顶
2017年04月06日 01点04分 8
level 9
把 String 类型换成System.Text.StringBuilder 试试。
2017年04月06日 07点04分 9
level 9
Public Declare Function GetPersonInfo Lib "DBLIB.DLL" GetPersonInfo(Flag As Integer, MedKind As Integer, SysDate As String, NoCardNo As Integer, ByRef AppCode As Integer, DataBuffer As StringBuilder) As Integer
2017年04月06日 07点04分 10
1