我自己用visual C++编写了一个ATL dll动态链接库,通过另一个exe程序来调用该DLL,如果返回S_FAIL 或者E_POINTER,程序就会崩溃。代码如下:hr=pGetRes->Calculate(……)
if(FAILED(hr)) AfxMessageBox(_T("失败的求取"));如果Calculate返回S_FAIL程序立马就异常中断了。从理论上讲应该可以进入下一行弹出“失败的求取”啊。dllATL HRESULT
if(FAILED(hr)) AfxMessageBox(_T("失败的求取"));如果Calculate返回S_FAIL程序立马就异常中断了。从理论上讲应该可以进入下一行弹出“失败的求取”啊。dllATL HRESULT
解决方案 »
- 有点绕,请教一下大家,关于连接点的
- CMainFrame怎么强制重绘
- 疑惑:COMMAND消息传递过程中,VIEW DOCUMENT等有机会检查自己的MESSAGE MAP吗?
- CSrollView+橡皮筋+画图
- vc连接本地SQL SERVER数据库一定要连网线吗
- handwolf(青松崖),请进来领分
- LPWSAOVERLAPPED 是什么类型来的?
- 刚才装了一下MSDN 2001(2张盘的那个) 只装VC和相关的内容 装完居然才600M,这正常吗?是不是内容少了
- FloodFill()方法,请多多帮忙
- VC 读取硬盘错误
- 请教WIN7(DirectX11)下开发dx9遇到的问题
- 曲线算法
不要期望避免返回 E_FAIL.
我的Calculate没有问题,这里返回的E_FAIL是我故意产生的,因为我在测试自己写的服务器dll和客户端exe,所以故意产生这个异常看看客户端会有什么问题。结果是只要遇到这个异常,程序就会意外中断,根本就没能进入if(FAILED(hr)) AfxMessageBox(_T("失败的求取"));的判断。
截图:
我希望我的exe当遇到这个E_FAIL时能够进行处理,而不是异常中断
找到原因了,是#import出错了