2015-02-06 37 views
1

我有一个奇怪的问题......C++/CLI DLL打开文件对话框冻结和阻塞测试aplication

我有实现以下fonction

private: 
    void button1_Click(Object^ /*sender*/, System::EventArgs^ /*e*/) 
    { 
     Stream^ myStream; 
     OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog; 
     openFileDialog1->Filter = (*.txt)|*.txt|All files (*.*)|*.*"; 
     openFileDialog1->FilterIndex = 2; 
     openFileDialog1->RestoreDirectory = true; 

     if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK) 
     { 
     if ((myStream = openFileDialog1->OpenFile()) != nullptr) 
     { 
      // her is my listview code 
      myStream->Close(); 
     } 
     } 
    } 
在我的DLL

我的问题是当将代码作为dll进行测试时,不会显示对话框,但会完全冻结应用程序,并且可能仅由任务管理器终止...不知道那里发生了什么......对我没有任何意义。谁可以帮助我?

+0

我认为更多的信息会有所帮助。调用堆栈在“ShowDialog”调用点上的样子是什么?也许有些东西阻止了对话处理事件。 – karmasponge 2015-03-09 10:22:06

回答

-1
openFileDialog1->ShowHelp = true; 

我把这个线则解决了这个问题。