2011-04-14 169 views
1

我有一個奇怪的問題,我沒有見過。我可以在Windows 7中打開OpenFileDialog,沒有任何問題。但是,當我在Windows XP上嘗試我的應用程序時,立即調用OpenFileDialog.ShowDialog()會使應用程序崩潰。它只是消失!從調試器運行時,我沒有得到任何未處理的異常。如果我將代碼封裝在try/catch塊中,則無法捕獲任何內容。我也在Debug - > Exceptions中檢查了所有拋出的異常,但沒有彈出。我會在下面的答案中嘗試其他一些建議,並將回報。OpenFileDialog在Windows XP下崩潰,但不是Windows 7

有誰知道如何解決這個問題?我發現一個post about something similar,但它是相反的問題。我會嘗試調整桌面設置,看看它是否與此有關,但我很懷疑。

編輯 - 作爲一個健全的檢查,我寫了一個測試WPF應用程序,直接顯示OpenFileDialog通過主窗口,以及另一個Window可以顯示在主窗口。它在Windows XP下完全正常工作。所以現在我很困惑。我已經證實,我沒有像嘗試從工作線程顯示對話框那樣做一些愚蠢的事情。 OpenFileDialog會短暫顯示,然後隨應用程序一起消失。

編輯 - 我將嘗試在另一臺XP計算機上重現此問題。現在,我將嘗試Windows XP模式,我們將看到會發生什麼。

+0

將我自己的問題標記爲可能重複的http:// stackoverflow。com/questions/3550030/c-wpf-openfiledialog-causes-crash-in-xp -in-vista – Dave 2011-04-14 19:19:19

+0

也許不是重複的。我檢查了XP電腦,它幾乎安裝了所有的.NET Framework版本。 – Dave 2011-04-14 20:15:07

回答

0

您是否在輸出中看到任何「第一次機會」例外情況?事件日誌中的任何條目?您使用的默認路徑是否存在於XP機器上?

嘗試增加一個處理程序的應用程序域的UnhandledException

做同樣的,當你使用一個全新的,股票FileOpenDialog沒有任何調整發生的呢?從一個全新的應用程序什麼都不做,但顯示文件打開對話框?

+0

啊,我會看看默認路徑 - 偉大的建議! – Dave 2011-04-14 18:21:06

+0

已驗證 - 存在 - 仍然崩潰。 – Dave 2011-04-14 18:24:24

+0

我檢查了eventvwr,其日誌中沒有任何內容... – Dave 2011-04-14 18:34:28

0

Galet's post


我不能告訴你到底是什麼問題,但這裏是你可以做些什麼來得到一個線索什麼是真正發生的事情。我假設你正在使用VS2008或2005

1.開關釋放模式 2.進入調試\例外,並標出全部「時拋出」的例外,像在這裏說明:http://vvcap.net/db/JbWS_tzy2IpBoI7R7amm.htp 3.Run可執行的調試器,忽略來自VS的警告,沒有調試信息 似乎在執行期間有一段時間拋出了win32異常,但這樣或那樣,您將從調試器中獲得一條或多條消息,以解釋發生了什麼樣的異常以及發生了什麼。在大多數情況下,這些消息使得它很清楚究竟發生了什麼錯誤

編輯:我忘了提及的一件事是,非託管調試也必須打開,像這裏一樣(當你直接從IDE啓動程序)或在這裏當您連接到正在運行的進程) 鏈接|編輯|編輯旗4月12日09時22:32

在19:01 加萊 回答4月10日09 1,2201924

+0

我應該在我的帖子中提到它,但我確實標記了所有拋出異常 - 沒有東西彈出。我在VS2010中,我編輯了我的標籤以反映這一點。 – Dave 2011-04-14 18:19:55

+0

我會研究非託管調試 - 謝謝! – Dave 2011-04-14 18:24:53

+0

我啓用了非託管調試,並且還檢查了Thrown列中的所有內容。它仍然消失沒有任何信息。 – Dave 2011-04-14 18:34:09

1

我有一個類似的錯誤當我打開OpenFileDialog時DLL崩潰。原來,OpenFileDialog改變了工作目錄,所以我的DLL試圖寫入一個不存在的相對文件。

相關問題