2015-02-06 41 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; 

我把這個線則解決了這個問題。