求救,DAO数据库操作代码转移到动态库中后出现问题

captainwh 2005-03-15 02:58:19
一个查询窗口类, 原先是直接写在exe工程中的,现在为了更新方便将整个对话框类转移到单独的动态库中实现(MFC扩展Dll), 现在发现所有的DAO操作都会出现异常CDaoException, 并且异常捕获代码会出现内存访问错误: 如:

CString strDb = AppPathString(str);
CDaoDatabase db;

try
{
db.Open(strDb);
}
catch (CDaoException *e) // 统计数据库不存在, 创建新的数据库文件
{
//AfxMessageBox(e->m_pErrorInfo->m_strDescription, MB_OK);
DeleteFile(strDb);

CreateStatDatabase(strDb, m_TestMode);

db.Open(strDb);
e->Delete();
}

AfxMessageBox一句无法打印出异常信息,报内存访问错误.
若数据库文件strDb存在,那么本不应该出现异常,但运行结果不变,还是会出现CDaoException异常

创建数据库时也是同样:

try
{
CDaoDatabase db;
db.Create(strFileName); // 此处出现异常

}
catch (CDaoException *e)
{
...
}

以上这些Dao操作代码原本在exe工程中已经使用很久了,是否在mfc扩展dll中使用dao有特殊之处?

在exe工程中,我是通过AfxGetModuleState()->m_dwVersion = 0x0601; 来使用dao3.6版本
...全文
95 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
李_军 2005-03-15
  • 打赏
  • 举报
回复
dll中有没CoInitiali..初始化阿
老夏Max 2005-03-15
  • 打赏
  • 举报
回复
http://www.soft2.com/programme-vc-dll/2004-06-01-02-42-57.htm

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧