以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教老师出现一个错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130919) |
-- 作者:fangdejin -- 发布时间:2019/2/11 19:34:00 -- 请教老师出现一个错误 此主题相关图片如下:微信图片_20190211193419.png btnInitDev按钮click代码 icdev = Mwrf32.rf_init(0, 9600) If (icdev > 0) Then AppendStatus("成功连接读写器") Dim status As New String(status, 20) Dim st = Mwrf32.rf_get_status(icdev, status) If (st = 0) Then status = ClearNullString(status) e.Form.Controls("lblDevVer").Text = "硬件版本号: " & status Else e.Form.Controls("lblDevVer").Text = "" End If status = New String(status, 16) st = Mwrf32.rf_srd_snr(icdev,16, status) If (st = 0) Then status = ClearNullString(status) e.Form.Controls("lblCardSeq").Text = "设备序列号: 2019年001号 " & status Else e.Form.Controls("lblCardSeq").Text = "" End If \'向读写器装载指定扇区的新密码(不与卡片进行通讯) ,读写器中有16个扇区的密码(0~15) ,每个扇区有两个密码(KEY A 和 KEY B) Dim keyA = "ffffffffffff" \'默认密码 Dim keyB = "ffffffffffff" \'默认密码 For sector As Integer = 0 To 15 Dim dr As DataRow = DataTables("读写器密码").Find("扇区 = " & sector ) \' 从数据表获取加载密码 If dr IsNot Nothing Then keyA = dr("密码A") keyB = dr("密码B") End If \'装载密码A st = Mwrf32.rf_load_key_hex(icdev, 0, sector, keyA) If (st <> 0) Then AppendStatus("向读写器扇区" & sector & "装载密码A错误: " & GetErrorDesc(st)) End If \'装载密码B st = Mwrf32.rf_load_key_hex(icdev, 4, sector, keyB) If (st <> 0) Then AppendStatus("向读写器扇区" & sector & "装载密码B错误: " & GetErrorDesc(st) ) End If Next AppendStatus("完成向读写器装载密码!") e.Form.Controls("pnlOprate").Visible = True e.Form.Controls("btnCloseDev").Enabled = True e.Form.Controls("btnInitDev").Enabled = False e.Form.Controls("btnReadCards").Enabled = True \'\'st = rf_beep(icdev, 30) \'蜂鸣30ms,根据需要使用 Else AppendStatus("连接读写器失败,请查看是否已连接读写器,或者读写器已被其它程序占用: " & GetErrorDesc(icdev)) End If |
-- 作者:fangdejin -- 发布时间:2019/2/11 19:35:00 -- 不知道哪个参数错了。。。。。。。。。。。 |
-- 作者:有点蓝 -- 发布时间:2019/2/11 20:21:00 -- 调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm 看是哪一句代码出错
|
-- 作者:fangdejin -- 发布时间:2019/2/11 20:35:00 -- 出现这个 此主题相关图片如下:微信图片_20190211203956.png [此贴子已经被作者于2019/2/11 20:37:10编辑过]
|
-- 作者:fangdejin -- 发布时间:2019/2/11 20:35:00 -- 出现这个~~~~~ |
-- 作者:有点蓝 -- 发布时间:2019/2/11 20:45:00 -- 重启一下项目,再重新测试 |
-- 作者:fangdejin -- 发布时间:2019/2/11 21:34:00 -- 还是不行 还是第一张图的提示, Range对象中,Min(2)必须小于或等于Max(-1) |
-- 作者:有点蓝 -- 发布时间:2019/2/11 21:54:00 -- 调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm 看是哪一句代码出错
|
-- 作者:fangdejin -- 发布时间:2019/2/11 21:56:00 -- 蓝老师,我把 \'向读写器装载指定扇区的新密码(不与卡片进行通讯) ,读写器中有16个扇区的密码(0~15) ,每个扇区有两个密码(KEY A 和 KEY B) Dim keyA = "ffffffffffff" \'默认密码 Dim keyB = "ffffffffffff" \'默认密码 For sector As Integer = 0 To 15 Dim dr As DataRow = DataTables("读写器密码").Find("扇区 = " & sector ) \' 从数据表获取加载密码 If dr IsNot Nothing Then keyA = dr("密码A") keyB = dr("密码B") End If \'装载密码A st = Mwrf32.rf_load_key_hex(icdev, 0, sector, keyA) If (st <> 0) Then AppendStatus("向读写器扇区" & sector & "装载密码A错误: " & GetErrorDesc(st)) End If \'装载密码B st = Mwrf32.rf_load_key_hex(icdev, 4, sector, keyB) If (st <> 0) Then AppendStatus("向读写器扇区" & sector & "装载密码B错误: " & GetErrorDesc(st) ) End If Next AppendStatus("完成向读写器装载密码!") 删除了,没有出现这个提示了,密码代码出问题。。。
|
-- 作者:有点蓝 -- 发布时间:2019/2/11 22:03:00 -- 可能的原因: 1、卡片没有16个扇区那么多,或者卡片存储的不是12位密码,具体咨询一下购买卡片的商家 2、存储的密码不正确,超过了范围
|