我在编程序时,vc,经常程序编到一定程度,在删除一个控件或者添加一个控件之后,经常编译能通过,但是一运行就出错,一般是在程序关闭时发生错误,不知道为什么
1有人说是在删除控件时,有些地方没删干净,导致程序发生错误,那么请问,应该怎么保证删的干干净净哪?该怎么预防或者排除问题?
2,如果说删除控件,可能由于以上的原因,可是我添加控件程序出错(在关闭程序时),又是什么原因呢?
3,现在我碰到一个问题:我用MFC 生成程序框架(对话框),现在添加了一些控件(只有几个,很少),我定义了一些静态文本(IDC_STATIC)的变量(CString),在程序运行时,只要给定义的变量(属于静态文本的)赋值,(例:m_sys="1234")当关闭程序时,就有内存泄漏,不知道为什么??
还有一问题,同样一个程序,当我定义一个全局CString的变量时,不对这个变量进行任何操作,就会在关闭程序时,出错(无效句柄)为什么??
1有人说是在删除控件时,有些地方没删干净,导致程序发生错误,那么请问,应该怎么保证删的干干净净哪?该怎么预防或者排除问题?
2,如果说删除控件,可能由于以上的原因,可是我添加控件程序出错(在关闭程序时),又是什么原因呢?
3,现在我碰到一个问题:我用MFC 生成程序框架(对话框),现在添加了一些控件(只有几个,很少),我定义了一些静态文本(IDC_STATIC)的变量(CString),在程序运行时,只要给定义的变量(属于静态文本的)赋值,(例:m_sys="1234")当关闭程序时,就有内存泄漏,不知道为什么??
还有一问题,同样一个程序,当我定义一个全局CString的变量时,不对这个变量进行任何操作,就会在关闭程序时,出错(无效句柄)为什么??
给每个都起个唯一的名字
在Wizard中删除改控件的捆绑变量
删除对话框上的控件
2、最彻底的方法,把所有的在编译过程中产生的文件全部删除,比如:.clw,.ncb,.opt.....
当然上面的步骤也是必须的!我想这样应该干净了吧!呵呵……
等我以后碰到这样的问题时,我会试试的,
对于我现在的这个问题,我的project的setting中general中micrsoft foundation classes中选择的是use shared dll,我改成use static library,编译再运行就没问题了
然后,我再改回use shared dll,编译运行也没问题了,不知为什么?
希望有人给解释一下.帖子再过一段时间结贴,
然后,我再改回use shared dll,编译运行也没问题了,不知为什么?我借此地方问一下
这两个不同的选项有什么不同吗