明华URF-330-M-11用1.0版的DLL时Open_USB()老出错
我是在VFP6.0环境下设计的应用系统,每次需要读M1卡时,调用mwrf32.dll (1.0版本)初始化各函数,读完卡时关闭读卡器,并用CLEAR DLLS MWRF32从内存中释放mwrf32.dll。测试时,能正常读写卡,但就是在用户手上用时,Open_USB()时而不时会打不开读卡器,返回-32值,只有将应用系统退出再打开,才可以继续正常用。我也找过明华了,明华的工程师说不懂VFP,一直没进展。求大虾帮忙分析是什么问题。
[解决办法]
-32 对应的错误消息是什么?
[解决办法]
这和VFP没关系。
你要问它-32的错误值是什么意思。
很多所谓的工程师大都不是设计者,只是后期维护者,问到核心的问题,能推脱的尽量推脱。
[解决办法]
退出之后再进来就可以了。
那你每次 Open_USB() 先释放先前的调用并CLEAR DLLS
[解决办法]
本帖最后由 dkfdtf 于 2013-12-31 19:56:54 编辑 既然是打开通讯口失败,那你应该找找开发包中的手册等资料,看看是否有初始化端口之类的函数,例如:rf_init
[解决办法]
把你的 MWRF32.DLL 发上来看看
上传到: http://access911.net/csdn/
[解决办法]
确实,这个版本的 dll 已不再使用 rf_init 这样的函数
有没有可能是某些情况下,打开的设备没有关闭?
试试调用 Open_Usb 之前,不管 3721,先调用 Close _Usb,像这样:
for ii = 1 to 5 && 这个值从 ? 到 ?,根据你的设备数和 Open_Usb 返回的值决定
Close_Usb(ii)
endfor
hICDev = Open_Usb()
if hICDev > 0
...