CFilediglog 调用时异常

CFilediglog 调用时错误
CFileDialog    dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL);(这源自网络,我是按VS2010定义写的)
我最近改用VS2010,单步到这里就错误,走进去貌似走到getcurrentinstance吧(我手机写的),然再进去到了个API然后就挂了。可是忽略了又可以正常工作。
出问题的位置是在一个连接Ado数据库的全局类的私有函数,附近有try catch
我用高一一年业余写了这软件,现在暑假得赶快把它做好,高二没时间了
求大神救济!做我的指导老师也好,现在没时间自学咯

------解决方案--------------------
没有看见你说的到底出现了什么错误??

错误信息是啥???
------解决方案--------------------
你是不是在动态库里使用了?
如果是 前面加 AFX_MANAGE_STATE(AfxGetStaticModuleState( ));

如果不是 点击重试, 把调用堆栈贴出来看看


------解决方案--------------------

CFileDialog    dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY
------解决方案--------------------
OFN_OVERWRITEPROMPT,
_T("Describe Files (*.cfg)
------解决方案--------------------
*.cfg
------解决方案--------------------
All Files (*.*)
------解决方案--------------------
*.*
------解决方案--------------------
"), NULL,NULL,TRUE);
dlgFile.DoModal();

这个是没有问题的。。你看看其它代码是否有问题??
清理工程在编译试试看。。
------解决方案--------------------
CFileDialog会改变GetCurrentDirectory的路径,会有错乱的。楼主断点路径看看。

这个问题倒是见过。 尝试加上OFN_NOCHANGEDIR 这个属性看看
------解决方案--------------------
如果你要定义的类是用来处理数据的 话,
可以不用指定基类!

你的全局对象是一个从CWnd派生出来的类,
全局对象对象的m_hWnd字段为空的话,
使用MessageBox就会出现问题(全局的MessageBox除外)
int MessageBox(
   LPCTSTR lpszText,
   LPCTSTR lpszCaption = NULL,
   UINT nType = MB_OK 
);
全局的
int MessageBox(          HWND hWnd,
    LPCTSTR lpText,
    LPCTSTR lpCaption,