【发布时间】:2010-06-02 18:37:57
【问题描述】:
我必须在从 ocx 控件调用的 MFC 对话框中加载 WPF 用户控件。为此,我创建了一个 MFC 常规 Dll(启用了 clr 选项的混合模式常规 dll),我在其中创建了一个对话框,它使用 HWndSource 托管 wpf 用户控件。此导出的对话框被放置为从 ocx 调用的 MFC 对话框的子对话框。 Ny 中间对话框使用 C++/Cli 代码。
当主 MFC 对话框关闭时,我正在删除在堆上创建的中间对话框的 ptr 引用。但在此之后我仍然看到持续的内存泄漏或增长。 在对话框的析构函数中,我在 HWndSource 和 wpf 用户控件上调用 delete,以便调用它的 dispose。
但之后我看到那里持续泄漏。
这方面的任何帮助都会有所帮助。
【问题讨论】:
-
“我在 HWndSource 和 wpf 用户控件上调用 delete,以便调用它的 dispose”。嗯? 1、HWndSource和WPF控件都是托管对象,所以没有“delete”可以调用。 2. Dispose 是完全可选的(你不能因为忘记调用而泄漏内存)。请说明您实际做了什么以及您预期会发生什么。
标签: wpf