VC毕业设计,就差一点了
我做了一个饭卡管理系统,主界面上用的是非模态对话框,程序运行已经比较稳定了,功能也实现了,甚至超出了毕业设计要求,但是从头到尾困扰我的问题还没有解决:当程序关闭的时,也就是我按主界面上的叉的时候,编译器会报错!说什么访问冲突!
我的类是这样的结构,首先一个CERPView:CView, 然后这个CERPVIEW下有一个CardView指针,当用户登录成功后,会通过
CardView =new CCardViewDlg();
CardView.Create(IDD_CARDVIEW,this);
来创建单文档界面(CERPView)下的主对话框,对话框上面有一些ado控件,然而就在我关闭单文档界面的时候,程序就报错了,程序甚至连主视图CERPView和子窗体(CardView)的析构函数都未执行,而且也没来得及触发onclose事件,大家帮我看看这究竟是怎么回事啊?这是否和那几个ado控件有关?如何才能把窗体卸载干净?
int CFERPView::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CView::OnCreate(lpCreateStruct) == -1) return -1; setting.Load(); //加载设置 loginDlog login(&setting); //登录窗体 if(login.DoModal()!=IDOK) return -1; CardView=new CCardViewDlog(&setting); //主窗体对象创建 return 0;}void CFERPView::OnShowWindow(BOOL bShow, UINT nStatus){ CView::OnShowWindow(bShow, nStatus); //创建主窗体 CardView->Create(IDD_CARD_VIEW,this); if(setting.ifInfCard==TRUE) CardView->ShowInfCard(this); if(setting.ifAutoMt==TRUE) { CButton *check=(CButton*)CardView->GetDlgItem(IDC_AUTOMATCH); check->SetCheck(TRUE); }}