阅读:1073回复:1
为什么在用VC++调用动态库的函数并编译通过,但在运行该函数时WIN98系统显示非法操作?
我在用VC++调用别的公司提供的动态连接库的函数编写一个通过串口读写数据的程序。首先通过VC++的Project- >Add to Project->files...把该dll的lib文件和头文件添加到工程里,然后,在调用该dll库函数的.cpp文件开头声明dll的头文件。以下是函数调用过程:
函数原型: BOOL APIENTRY rf3OpenComm(BYTE CommID, LPHANDLE hComm); 调用: include \"rf3read.h\" BYTE CommID; LPHANDLE hComm; BOOL rf3ok; CommID=1; rf3ok=rf3OpenComm(CommID,hComm); if (rf3ok) AfxMessageBox(\"打开串口成功。\"); else if AfxMessageBox(\"打开串口失败。\",MB_ICONSTOP); 当程序运行“rf3ok=rf3OpenComm(CommID,hComm);”后WIN98系统就显示非法操作,无效页面。错误在rf3read.dll.... 请问我的动态库装载过程和函数调用方法有没有错? |
|
最新喜欢:luozha... |
沙发#
发布于:2002-05-30 16:04
首先,这类问题你最好到www.csdn.net之类的去问,会得到更详细的解答;
其次,你用其它公司的产品,可以要求一个VC制作的DEMO程序(包含源程序),然后你照着作即可,若还不行,你可以要求他们提供技术支持; 最后,你的问题是不是hComm没初始化。 |
|