首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

PB刷卡机,程序调用dll,串口没打开,大家帮小弟我看一看,多谢啦

2012-03-14 
PB刷卡机,程序调用dll,串口没打开,大家帮我看一看,谢谢啦![b][/b]背景介绍:单位要升级我两年前编的软件系

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文件);

热点排行