问题如上,不知道它们运行时消息路径如何?具体调用了哪几个函数?
如果我要退出我的程序,我在初始化时用new分配的内存如何释放?
是在“确定”和“取消”两个函数中都要释放吗?
还有“关闭”按钮,好像是个OnDestroy()函数,我是否也要同时自己改写它?
迷惑中,望各位指点一下。

解决方案 »

  1.   

    “确定”和“取消”最后也会调用到OnDestroy,你可以放到OnDestroy里,也可以放到析构函数里。简单的方法是释放完记得赋值NULL,然后再释放时判断是否为NULL来决定是否应该不释放。
      

  2.   

    呵呵, 典型的会了MFC而忘记C++的问题~~~ 析构函数的功能,就是做"善后"工作的啊!!释放内存,句柄,退出子线程等等都是在这里做的.
      

  3.   

    多谢楼上的指点,我也想到了在析构函数里做释放工作,可是自动生成的对话框程序中,只有构造函数,却没有析构函数。
    我想自己加上它并改写,可是没找到在哪里加。我用的是vs2005
    不会是自己手动添加这个析构函数吧,我觉得id里应该有相应的操作吧。再有就是在OnDestroy()函数里和在析构函数里做清理工作有什么不同吗?哪个更好点?
    我做的是模式对话框。
    顺便问一下,这个帖子的分数能不能提高啊,发的时候没看,选了20分,怕到时候不够分给大家了