我在某个DLL中写了个函数:Init(CDatabase* pdb,...)做初始化工作(主要读取一些数据)主要用法是:
CRecordset rs(pdb); //RELEASE版本出错的地方!,说内存只读什么的
CString strsql="select .... from ......";
rs.Open(...);
....
我在EXE工程中,要调用刚才的DLL中的Init(CDatabase* pdb,...)我调用的时候是声明一个CDatabase m_db;
然后做好数据源连接,Init(&m_db,...);我之所以这样说(DLL和EXE工程)是因为,我如果在一个EXE工程里的话,不管RELEASE版本和DEBUG版本都没有问题!!!
CRecordset rs(pdb); //RELEASE版本出错的地方!,说内存只读什么的
CString strsql="select .... from ......";
rs.Open(...);
....
我在EXE工程中,要调用刚才的DLL中的Init(CDatabase* pdb,...)我调用的时候是声明一个CDatabase m_db;
然后做好数据源连接,Init(&m_db,...);我之所以这样说(DLL和EXE工程)是因为,我如果在一个EXE工程里的话,不管RELEASE版本和DEBUG版本都没有问题!!!
谢了!
你在之前加个
if(pdb==NULL)
{
MessageBox("pdb is NULL!");
return;
}检查一下,再找相应的原因