弱问:DLL调用出错

azurehu 2005-03-31 08:46:28
在调用DLL文件时总是弹出窗口报错,一连弹出6,7个对话框,内容为:
Debug Assertion Faild!
Program:f:\...\TrialDll.exe
File:wincore.cpp
Line:884(或883)

For information on how your program can cause all assertion
failure, see the Visual C++ documentation on asserts.

换成release版有时错误会消失. 本人初学MFC,请大侠们赐教.

PS:做DLL时我是直接将EXE文件的类导入到DLL工程,
菜单等资源也是从RC文件里直接拷贝过来的
不知是否有影响.
...全文
102 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Cline 2005-04-02
你先要让基类的OnInitialUpdate()运行后,再调用你的函数。
回复
azurehu 2005-04-02
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}

#endif //_DEBUG

我的程序里的这一段DEBUG代码都是这样的呀,好像没有上面写得那么复杂

忘说了,那些错误全部忽略后DLL可以调用出来,但每执行一步操作后又会提示相同的错误。

我在View类的OnInitialUpdate()函数中去掉调用一下函数时就不会出错了,不知是为什么。
void CTrail2View::ShowList()
{
CListCtrl * ctl1;
ctl1 = &GetListCtrl();
ctl1->DeleteAllItems();
try
{
CTrailSet m_rs1;
m_rs1.Open();
m_rs1.MoveFirst();

while(!m_rs1.IsEOF())
{
ctl1->InsertItem(0,m_rs1.m_dwbh);
ctl1->SetItemText(0,1,m_rs1.m_dwmc);
ctl1->SetItemText(0,2,m_rs1.m_fzr);
ctl1->SetItemText(0,3,m_rs1.m_lxdh);
ctl1->SetItemText(0,4,m_rs1.m_email);
ctl1->SetItemText(0,5,m_rs1.m_bz);

m_rs1.MoveNext();
}
m_rs1.Close();
}
catch(CDBException* e)
{
e->ReportError();
e->Delete();
return;
}
}
回复
hushuangyan74 2005-04-01
你把代码贴出来看看!
回复
DentistryDoctor 2005-04-01
说明窗口根本没有创建,而Release版本是不会执行到这一段代码的。
回复
DentistryDoctor 2005-04-01
void CWnd::AssertValid() const
{
if (m_hWnd == NULL)
return; // null (unattached) windows are valid

// check for special wnd??? values
ASSERT(HWND_TOP == NULL); // same as desktop
if (m_hWnd == HWND_BOTTOM)
ASSERT(this == &CWnd::wndBottom);
else if (m_hWnd == HWND_TOPMOST)
ASSERT(this == &CWnd::wndTopMost);
else if (m_hWnd == HWND_NOTOPMOST)
ASSERT(this == &CWnd::wndNoTopMost);
else
{
// should be a normal window
ASSERT(::IsWindow(m_hWnd));//This line?
回复
oyljerry 2005-03-31
资源是否包含正确,DLL中函数是否正确的导出
回复
zhaotao0982 2005-03-31
跟dll没有关系,是你的传值有问题,引起了assert
回复
auly403 2005-03-31
mark
回复
相关推荐
发帖
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2005-03-31 08:46
社区公告
暂无公告