代码很简单,是我用来测试的一个模拟服务器程序,操作数据库的那部分是这样的:
BOOL CCommSocket::CheckPass(CString name,CString passwd)
{
CDbManage dbman;
dbman.Open();
while(! dbman.IsEOF())
{
if(dbman.m_id == name && dbman.m_passwd == passwd)
{
dbman.Close();
return TRUE;
}
dbman.MoveNext();
}
dbman.Close();
return FALSE;
}
会有什么问题呢?
BOOL CCommSocket::CheckPass(CString name,CString passwd)
{
CDbManage dbman;
dbman.Open();
while(! dbman.IsEOF())
{
if(dbman.m_id == name && dbman.m_passwd == passwd)
{
dbman.Close();
return TRUE;
}
dbman.MoveNext();
}
dbman.Close();
return FALSE;
}
会有什么问题呢?
是不是VC6在 release版本有BUG?
但是这里的问题却十分奇怪,呵呵,我不明白!
View/Doc中, 在App中创建的线程不能发消息到Frame, 原因不清楚, 但绝对是的~~
我是在主对话框中创建子线程,然后主对话框向子线程发送消息,我跟踪发现在release下,当子线程处理消息体完毕时,程序将出错,即使消息体是空的。而且如果用一个模态对话框放在消息体中,一旦让模态对话框关闭,子线程将出错,主线程正常。