- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我正在使用 MFC 制作一个基于对话框的应用程序:
BOOL CClockMasterDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
m_ModeTabs.Create(this,WS_CHILD | WS_VISIBLE, 0);
}
如果我在 CClockMasterDlg::OnInitDialog
函数中销毁 m_ModeTabs
,它是使用以下方法创建的:
m_ModeTabs.DestroyWindow();
当我将它放在 CClockMasterDlg::OnDestroy()
中时,我没有内存但发生泄漏 我遇到内存泄漏,即使它被调用并返回 true
也是如此。我不相信 OnDestroy
是 OnInitDialog
的对立面,但那是哪个函数呢?没有 OnExitDialog
。
检测到内存泄漏!倾倒对象->{601} 0x00AEED48
处的客户端 block ,子类型 c0,212 字节长。位于 $00AEED48
的 CMFCVisualManager
对象,212 字节长对象转储完成。程序 [5312] ClockMaster.exe: Native
已退出,代码为 2 (0x2)。
即使窗口应该自动销毁,因为它不是指针,我仍然不应该出现内存泄漏,对吗?并且自从放置
m_ModeTabs.DestroyWindow();
在 OnInitDialog
函数中,在其创建后解决了内存泄漏问题,它真的不会是其他原因导致的问题吗?删除 m_ModeTabs.Create(...
也解决了内存泄漏,所以我很确定它的 m_ModeTabs
导致了它。
最佳答案
虽然您没有说,但我假设 m_ModeTabs 是您的 CClockMasterDlg 的子窗口。在那种情况下或类似情况下,您不必显式调用 DestroyWindow。当一个窗口被 Win32 Destroy() 时,它的所有子窗口也会被销毁。
由于您将 m_ModeTabs 声明为常规变量(而非指针),它所拥有的内存将在 CClockMasterDlg 的析构函数期间由 C++ 运行时自动释放。
关于c++ - OnDestroy 中的 DestroyWindow 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10703489/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!