2011-10-12 8 views
0

FolderBrowserDialog (C++, WindowsForms)의 ShowDialog()를 호출하는 COM 서버 (out-of-process)가 있습니다. 그런 다음 COM 서버를 중지하려고 할 때 힙 오류가 있음을 알리는 충돌이 발생합니다. 만약 내가 방금 ShowDialog를 호출하지 않고 FolderBRowserDialog를 만들면 오류가 발생하지 않습니다 ... 연구를 할 때 나는 수동으로 처리해야한다는 것에 대해 읽었지만 dispose 메서드는 호출 될 수 없습니다. delete를 사용하면 내 문제가 해결되지 않습니다. 어떤 아이디어? 여기 코드는 다음과 같습니다ShowDialog가 힙 오류를 발생시킵니다.

... 
FolderBrowserDialog^ fbd = gcnew FolderBrowserDialog(); 
fbd->Description = "MAS Open dialog"; 
fbd->RootFolder = Environment::SpecialFolder::MyComputer; 
fbd->SelectedPath = Str; 
... 
res = fbd->ShowDialog(gcnew WindowWrapper(hwnd)); 
... 
+0

그건 C++가 아닙니다. C++/CLI입니까? – TonyK

+0

죄송합니다. C++/CLI입니다! – Eiger

답변

0

난 그냥 같은 문제를 가지고, 당신은

delete fbd; 

후 ShowDialog를를 호출해야합니다.

관련 문제