PB刷卡机,程序调用dll,串口没打开,大家帮我看一看,谢谢啦!
[b][/b]背景介绍:单位要升级我两年前编的软件系统,现须增加统计工作量的功能.设计到刷卡.我从发卡器厂家借来FB35的发卡器和几张卡,原dll文件,以及Delphy编写的读卡示例(证明dll文件以及发卡器没坏).
问题: 小女子用PB来申明\调用dll文件里的函数,总是报PB90.exe Application Execution Error(R0021) :Bad runtime function reference at line ...请大家帮帮我,我已经在这个问题上纠缠好多天了...我的邮箱是pf.2013.fly@163.com,qq:396212013,请多多指教
代码如下:PB中Global External Function:
function long COM_OPEN(string comport, long baudrate) library "fb35_iso.dll" ALIAS FOR "COM_OPEN;ansi";
函数调用:
long hcomdev
hcomdev = COM_OPEN("COM4", 38400) //发卡器装好驱动之后默认为COM4
C中 dll 的原函数:
l打开串口
int APIENTRY COM_OPEN(LPSTR comport, WORD baudrate)
功能:打开串口
参数:comport 串口设备名称,如COM1,COM2
baudrate 波特率, FB35应为38400
返回:>0 为串口设备句柄(即后面调用用到的hcomdev)
<0 失败
样例:hcomdev=COM_OPEN("COM1",38400)
打开串口COM1,波特率38400,无校验位,8数据位,1停止位。
[解决办法]
function long COM_OPEN(ref string comport, long baudrate) library "fb35_iso.dll" ALIAS FOR "COM_OPEN;ansi";
[解决办法]
先测试电脑的COM端口是否能正常使用?如果可以,可能是系统文件有问题,换台电脑试下。
[解决办法]
1、检查你的DLL文件有没有放在正确位置;
2、检查DLL文件的输出是否定义正确(位置:VC里的def文件);