http://blog.csdn.net/shuilan0066/article/details/8738035
1 error BK1506 : cannot open file '.\Debug\????????.sbr': No such file or dire
解决方法:
从工程->设置->浏览信息->创建创建浏览信息的复选框的勾给去掉就行了
工程---属性---C/C---Browse Information -----Enable Browse Information 设置为NONE
2 在资源视图中,打开资源文件时,跳出Runtime Error This application has requested the Runtime to terminate it in an unusal way .
解决方法:
将工程下的.aps文件删除就可以了
3 debug下 对话框跳出 Release下对话框初始后没有跳出
经测试,有一个函数未做调用失败处理,导致下面的数组索引为负值
两个版本的不同,很多情况是数组过界等引起的
DEBUG版本未做优化 RELEASE版本进行了优化, 若两者不同,很可能语句不安全引起的。
4 ~CCmdTarget() 断言错误
- CCmdTarget::~CCmdTarget()
- {
- #ifndef _AFX_NO_OLE_SUPPORT
- if (m_xDispatch.m_vtbl != 0)
- ((COleDispatchImpl*)&m_xDispatch)->Disconnect();
- ASSERT(m_dwRef <= 1); //此处出现断言错误
- #endif
- #ifdef _AFXDLL
- m_pModuleState = NULL;
- #endif
- }
CCmdTarget::~CCmdTarget()
{
#ifndef _AFX_NO_OLE_SUPPORT
if (m_xDispatch.m_vtbl != 0)
((COleDispatchImpl*)&m_xDispatch)->Disconnect();
ASSERT(m_dwRef <= 1); //此处出现断言错误
#endif
#ifdef _AFXDLL
m_pModuleState = NULL;
#endif
}
但是通过调试,没找到问题 ,于是重新编译了下,就正常了
遇到稀奇古怪的错误时,可以先把工程 重新清理编译下,看看是否还有问题
5如何禁用 VS2010 的 vcpkgsrv.exe 运行
VS2010 的 vcpkgsrv.exe(Microsoft Visual C++ Package Server)很烦,会自动运更新,占用相当大的内存(在我的机器中 >150M),而且一般会出现多个,杀掉还会自动出现。其实我们可以很容易禁用它,只要 Disable IntelliSense 即可,位于: Tools - Options - Text Editor - C/C++ - Advanced - IntelliSense - Disable IntelliSense:True
6 资源管理器跑右边了,重置窗口 也不起作用
工具》导入和导出设置>重置所有设置>否,仅重置,从而改写我的当前设置>下一步选择VisualC++默认设置。完成。
7 在析构函数中调用KillTimer(1); 引起断言错误
- killtimer函数的源代码:
- {
- ASSERT(::IsWindow(m_hWnd)); //析构函数里面m_hWnd是无效的,当然assert出错了。
- return ::KillTimer(m_hWnd, nIDEvent);
- }
killtimer函数的源代码:
{
ASSERT(::IsWindow(m_hWnd)); //析构函数里面m_hWnd是无效的,当然assert出错了。
return ::KillTimer(m_hWnd, nIDEvent);
}
改在OnOK()中调用
遇到这种情况的解决方法把代码中的ReadHuge换成Read、WriteHuge换成Write即可。
原因是VC++2005及后续VC版本中的CFile没有ReadHuge和WriteHuge成员函数,只在VC6中的CFile才有,不过ReadHuge()函数已被Read()函数代替,WriteHuge()函数已被Write()函数代替
9 数据库打开后,再重新打开后 出现未知错误
经查,竟是DOMODAL 引起的, 将DOMODAL 注释掉 就没有问题了, 实在是奇怪
之好,将数据库的释放 改在了整个程序的结束, 而不是进程的结束, 这样就不需要重新打开了