真的不知道是什么原因,在不添加变量之前,一切都是正常的,就是在类中添加变量之后就错误了。。
19 个解决方案
#1
内存不能Written 的错误.
哪个指针出错了
哪个指针出错了
#2
又是VC6.0的吧?如果是的话,那就有可能了,我也遇到过这个BUG,换个高级点的编译器或者找个补丁啥的
#3
不会吧。。编译器问题?在其他地方第一同样的变量时没有问题的。就好像在InitDialog函数里面定义变量都不会有问题,就只是在C**Dlg类中添加成员变量,无论什么变量,编译不会有问题的,就是程序运行就有问题了。
#4
就是了,这样的问题遇到过了,当年我还傻傻地在这里提问呢
#5
给点代码看看
#6
在vc 中 调试 运行 Debug版本 找到 错误所在位置,或者在可疑出 GetLastError()
这么猜 没法猜到
这么猜 没法猜到
#7
代码太长了,而且在MFC中,涉及的文件太多。
问题出现的情况有两种:
一种是在类中添加成员变量如:CButton,CDialog之类的,出现的问题就在这个函数中:
BOOL CMyRecordApp::InitInstance()
{
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
CMyRecordDlg dlg;
m_pMainWnd = &dlg;
// spl.ShowSplashScreen(false);
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}
错误是这里的代码:
CMyRecordDlg dlg;
m_pMainWnd = &dlg;
// spl.ShowSplashScreen(false);
int nResponse = dlg.DoModal();
运行到dlg.DoModal()的时候就错了,就是说对话框显示不了。可是这个错误就只是程序没反应,没有显示错误信息。
第二个错误:
这个错误出现的原因是在C**Dlg中添加如 CString 之类的成员变量。出现错误的代码同上面一样,不过这时候有出现错误信息,错误信息提示".......Access Violation.“
问题出现的情况有两种:
一种是在类中添加成员变量如:CButton,CDialog之类的,出现的问题就在这个函数中:
BOOL CMyRecordApp::InitInstance()
{
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
CMyRecordDlg dlg;
m_pMainWnd = &dlg;
// spl.ShowSplashScreen(false);
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}
错误是这里的代码:
CMyRecordDlg dlg;
m_pMainWnd = &dlg;
// spl.ShowSplashScreen(false);
int nResponse = dlg.DoModal();
运行到dlg.DoModal()的时候就错了,就是说对话框显示不了。可是这个错误就只是程序没反应,没有显示错误信息。
第二个错误:
这个错误出现的原因是在C**Dlg中添加如 CString 之类的成员变量。出现错误的代码同上面一样,不过这时候有出现错误信息,错误信息提示".......Access Violation.“
#8
#9
你现在贴出来的代码就是MFC自动生成的原原本本的代码啊,这代码是没错的。你确定程序出错点就在这??你把你自己写的代码贴出来给大家看看才能帮你找出错误啊。
#10
还好我没遇到过,现在又知道有这样的bug了,所有不会再傻傻的提问了,,,,(*^__^*) 嘻嘻……
#11
什么版本的VC6,我使用VC6怎么没遇到过这种问题?~~~
#12
不行就换成VS2008!!!
#13
你这个问题是在每个工程都是这样吗?你试试别的工程,或者你开始不注意删除了哪里
#14
有些变量没关联好。
#15
你现debug 下打开call stack 看看函数调用堆站,找到出错的地方
#16
以前遇到过,不能添加成员变量,你就先用个全局变量代替吧。或者你重新建一个工程。
#17
应该是编译器的问题 你重新做个工程
#18
呵呵,没办法,VC 6.0真的不行。。同样的程序,在VS 2008下成功运行。。谢谢各位了。。
#19
怎么解决的啊。。。。
除了换VC6.0没其他方法???
除了换VC6.0没其他方法???
#20
#1
内存不能Written 的错误.
哪个指针出错了
哪个指针出错了
#2
又是VC6.0的吧?如果是的话,那就有可能了,我也遇到过这个BUG,换个高级点的编译器或者找个补丁啥的
#3
不会吧。。编译器问题?在其他地方第一同样的变量时没有问题的。就好像在InitDialog函数里面定义变量都不会有问题,就只是在C**Dlg类中添加成员变量,无论什么变量,编译不会有问题的,就是程序运行就有问题了。
#4
就是了,这样的问题遇到过了,当年我还傻傻地在这里提问呢
#5
给点代码看看
#6
在vc 中 调试 运行 Debug版本 找到 错误所在位置,或者在可疑出 GetLastError()
这么猜 没法猜到
这么猜 没法猜到
#7
代码太长了,而且在MFC中,涉及的文件太多。
问题出现的情况有两种:
一种是在类中添加成员变量如:CButton,CDialog之类的,出现的问题就在这个函数中:
BOOL CMyRecordApp::InitInstance()
{
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
CMyRecordDlg dlg;
m_pMainWnd = &dlg;
// spl.ShowSplashScreen(false);
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}
错误是这里的代码:
CMyRecordDlg dlg;
m_pMainWnd = &dlg;
// spl.ShowSplashScreen(false);
int nResponse = dlg.DoModal();
运行到dlg.DoModal()的时候就错了,就是说对话框显示不了。可是这个错误就只是程序没反应,没有显示错误信息。
第二个错误:
这个错误出现的原因是在C**Dlg中添加如 CString 之类的成员变量。出现错误的代码同上面一样,不过这时候有出现错误信息,错误信息提示".......Access Violation.“
问题出现的情况有两种:
一种是在类中添加成员变量如:CButton,CDialog之类的,出现的问题就在这个函数中:
BOOL CMyRecordApp::InitInstance()
{
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
CMyRecordDlg dlg;
m_pMainWnd = &dlg;
// spl.ShowSplashScreen(false);
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}
错误是这里的代码:
CMyRecordDlg dlg;
m_pMainWnd = &dlg;
// spl.ShowSplashScreen(false);
int nResponse = dlg.DoModal();
运行到dlg.DoModal()的时候就错了,就是说对话框显示不了。可是这个错误就只是程序没反应,没有显示错误信息。
第二个错误:
这个错误出现的原因是在C**Dlg中添加如 CString 之类的成员变量。出现错误的代码同上面一样,不过这时候有出现错误信息,错误信息提示".......Access Violation.“
#8
#9
你现在贴出来的代码就是MFC自动生成的原原本本的代码啊,这代码是没错的。你确定程序出错点就在这??你把你自己写的代码贴出来给大家看看才能帮你找出错误啊。
#10
还好我没遇到过,现在又知道有这样的bug了,所有不会再傻傻的提问了,,,,(*^__^*) 嘻嘻……
#11
什么版本的VC6,我使用VC6怎么没遇到过这种问题?~~~
#12
不行就换成VS2008!!!
#13
你这个问题是在每个工程都是这样吗?你试试别的工程,或者你开始不注意删除了哪里
#14
有些变量没关联好。
#15
你现debug 下打开call stack 看看函数调用堆站,找到出错的地方
#16
以前遇到过,不能添加成员变量,你就先用个全局变量代替吧。或者你重新建一个工程。
#17
应该是编译器的问题 你重新做个工程
#18
呵呵,没办法,VC 6.0真的不行。。同样的程序,在VS 2008下成功运行。。谢谢各位了。。
#19
怎么解决的啊。。。。
除了换VC6.0没其他方法???
除了换VC6.0没其他方法???