Je dois charger un contrôle utilisateur WPF dans une boîte de dialogue MFC appelée à partir du contrôle ocx. Pour cela, j'ai créé une DLL régulière MFC (Mixed Mode Regular dll avec l'option clr activée), j'ai créé un dialogue dans ce qui héberge le contrôle de l'utilisateur wpf en utilisant HWndSource. Cette boîte de dialogue exportée est placée en tant que boîte de dialogue enfant de la boîte de dialogue MFC au-dessus de MFC invoquée depuis l'ocx. La boîte de dialogue intermédiaire de Ny utilise le code C++/Cli.Perte de mémoire continue lors de l'utilisation de WpfHWndSource
Lorsque la boîte de dialogue MFC principale est fermée, je supprime la référence ptr de la boîte de dialogue intermédiaire créée sur le tas. Mais après cela, je vois toujours une fuite de mémoire continue ou une croissance. Dans le destructeur de la boîte de dialogue, j'appelle la suppression sur le HWndSource et le contrôle utilisateur wpf, de sorte que son élimination doit être appelée.
Mais je vois une fuite continue après.
Toute aide à cet égard serait utile.
"J'appelle la suppression sur le contrôle utilisateur HWndSource et le contrôle utilisateur wpf, afin que son élimination soit appelée". Huh? 1. Les contrôles HWndSource et WPF sont des objets gérés, donc il n'y a pas de "delete" à appeler. 2. Dispose est complètement optionnel (vous ne pouvez pas perdre de mémoire en oubliant de l'appeler). Veuillez clarifier ce que vous avez réellement fait et ce que vous attendiez. –