Здавствуйте! Ни с того ни ссего сегодня запускаю проект, пытаюсь его прокомпилить. Все проходит удачно, но программа сразу при запуске выдает ошибку
| Цитата | Warning: Destroying non-NULL m_pMainWnd First-chance exception at 0x00c45379 in determinant.exe: 0xC0000005: Access violation reading location 0xfefeff66. Unhandled exception at 0x00c45379 in determinant.exe: 0xC0000005: Access violation reading location 0xfefeff66.
|
Указывает на кусок кода в winmain.cpp
| Код | // Perform specific initializations if (!pThread->InitInstance()) { if (pThread->m_pMainWnd != NULL) { TRACE(traceAppMsg, 0, "Warning: Destroying non-NULL m_pMainWnd\n"); pThread->m_pMainWnd->DestroyWindow(); // На эту строчку } nReturnCode = pThread->ExitInstance(); goto InitFailure; } nReturnCode = pThread->Run();
|
Программа очень проста. Вот основной код:
| Код | void CdeterminantDlg::OnBnClickedButton1() { UpdateData(true); int ii=m_tab.GetCurSel(); if(int_solve==0) { delta=a1*b2*c3+b1*c2*a3+c1*a2*b3-c1*b2*a3-b1*a2*c3-a1*c2*b3; if(ii==0) { c_delta.ModifyStyle(ES_READONLY, 0,SWP_FRAMECHANGED); dx=d1*b2*c3+b1*c2*d3+c1*d2*b3-c1*b2*d3-b1*d2*c3-d1*c2*b3; dy=a1*d2*c3+d1*c2*a3+c1*a2*d3-c1*d2*a3-d1*a2*c3-a1*c2*d3; dz=a1*b2*d3+b1*d2*a3+d1*a2*b3-d1*b2*a3-b1*a2*d3-a1*d2*b3; x=dx/delta; y=dy/delta; z=dz/delta; if (delta,dx,dy,dz==0) { MessageBox(_T("System is undefined."),_T("Error"),MB_OK); } else { if ((dx==0||dy==0||dz==0)&&delta==0) { MessageBox(_T("System is incompatible."),_T("Error"),MB_OK); } } } } else { if(ii==1) { if(delta==(a1*b2*c3+b1*c2*a3+c1*a2*b3-c1*b2*a3-b1*a2*c3-a1*c2*b3)) { MessageBox(_T("Correct answer!"),_T("Congradulations"),MB_OK); } else { MessageBox(_T("Answer is NOT correct! Try again."),_T("Error"),MB_OK); } } int m=0; if(ii==0) { if(delta!=(a1*b2*c3+b1*c2*a3+c1*a2*b3-c1*b2*a3-b1*a2*c3-a1*c2*b3)) m++; if(dx!=(d1*b2*c3+b1*c2*d3+c1*d2*b3-c1*b2*d3-b1*d2*c3-d1*c2*b3)) m++; if(dy!=(a1*d2*c3+d1*c2*a3+c1*a2*d3-c1*d2*a3-d1*a2*c3-a1*c2*d3)) m++; if(dz!=(a1*b2*d3+b1*d2*a3+d1*a2*b3-d1*b2*a3-b1*a2*d3-a1*d2*b3)) m++; //if(x!=(d1*b2*c3+b1*c2*d3+c1*d2*b3-c1*b2*d3-b1*d2*c3-d1*c2*b3)/(a1*b2*c3+b1*c2*a3+c1*a2*b3-c1*b2*a3-b1*a2*c3-a1*c2*b3))m++; //if(y!=(a1*d2*c3+d1*c2*a3+c1*a2*d3-c1*d2*a3-d1*a2*c3-a1*c2*d3)/(a1*b2*c3+b1*c2*a3+c1*a2*b3-c1*b2*a3-b1*a2*c3-a1*c2*b3))m++; //if(z!=(a1*b2*d3+b1*d2*a3+d1*a2*b3-d1*b2*a3-b1*a2*d3-a1*d2*b3)/(a1*b2*c3+b1*c2*a3+c1*a2*b3-c1*b2*a3-b1*a2*c3-a1*c2*b3))m++; if(m==0) MessageBox(_T("All answers are correct!"),_T("Congradulations"),MB_OK); if(m==1) MessageBox(_T("Answers are NOT correct. You have 1 mistake."),_T("Error"),MB_OK); if(m==2) MessageBox(_T("Answers are NOT correct. You have 2 mistakes."),_T("Error"),MB_OK); if(m==3) MessageBox(_T("Answers are NOT correct. You have 3 mistakes."),_T("Error"),MB_OK); if(m==4) MessageBox(_T("Answers are NOT correct. You have 4 mistakes."),_T("Error"),MB_OK); if(m==5) MessageBox(_T("Answers are NOT correct. You have 8 mistakes."),_T("Error"),MB_OK); if(m==6) MessageBox(_T("Answers are NOT correct. You have 6 mistakes."),_T("Error"),MB_OK); if(m==7) MessageBox(_T("Answers are NOT correct. You have 7 mistakes."),_T("Error"),MB_OK); }
}
UpdateData(false); }
void CdeterminantDlg::OnBnClickedButton2() { UpdateData(true); delta=0; dx=0; dy=0; dz=0; x=0; y=0; z=0; a1=0; a2=0; a3=0; b1=0; b2=0; b3=0; c1=0; c2=0; c3=0; d1=0; d2=0; d3=0; UpdateData(false); }
void CdeterminantDlg::OnTcnSelchangeTab2(NMHDR *pNMHDR, LRESULT *pResult) {
int ii=m_tab.GetCurSel(); sheet1.ShowWindow(ii==1? SW_SHOW : SW_HIDE); sheet2.ShowWindow(ii==1? SW_SHOW : SW_HIDE);
// TODO: Add your control notification handler code here *pResult = 0; }
void CdeterminantDlg::OnBnClickedRadio2() { int_solve=1; c_dx.SetReadOnly(false); c_dy.SetReadOnly(false); c_dz.SetReadOnly(false); c_x.SetReadOnly(false); c_y.SetReadOnly(false); c_z.SetReadOnly(false); c_delta.SetReadOnly(false); UpdateData(false); // TODO: Add your control notification handler code here }
void CdeterminantDlg::OnBnClickedRadio1() { int_solve=0; c_dx.SetReadOnly(true); c_dy.SetReadOnly(true); c_dz.SetReadOnly(true); c_x.SetReadOnly(true); c_y.SetReadOnly(true); c_z.SetReadOnly(true); c_delta.SetReadOnly(true); UpdateData(false); // TODO: Add your control notification handler code here }
|
Пытался убирать все внутринности кнопок в комменты с помощью /*...*/ но в итоге ничего не изменилось. Помогите пожалуйста. |