→ purpose:我不知道你說的 mfc 版本問題要如何重現 11/26 14:57
第一種比較難試,因為是因為mfc的OPENFILENAME結構大小不同的關係,所以要看
剛好在那個結構後面的記憶體資料被蓋掉會不會造成問題
http://zhidao.baidu.com/question/43843597
第二種方法比較好試,開啟開始檔案的對話視窗後,先隨便找一個檔案,滑鼠
移到上面,然後等他浮出檔案的資訊後,選取消,再重開一兩次,就會crash
http://blog.csdn.net/dyw/archive/2007/09/02/1768857.aspx
※ 編輯: clarkman 來自: 203.66.251.14 (11/26 16:09)
推 purpose:CFileDialog 那個大陸人說的狀況,應該是因為他用了舊版 11/26 16:49
→ purpose:MFC跟新版PSDK不相容才會出現吧,難道你用2008了還會遇到 11/26 16:50
→ purpose:第二種是XP SP2跟Adobe Reader 7兩個的問題,一般使用者 11/26 16:51
→ purpose:不可能幫他們修補,會碰到這問題的人自己去更新就好 11/26 16:51
→ purpose:GetOpenFileName都已經是OS的API了,怎能找到替代 11/26 16:52
→ clarkman:CFileDialog就是因為用了新版本才會有問題,因為他呼叫 11/26 20:52
→ clarkman:舊的dll,裡面結構比較小...,所以大陸人才會取消VC的def 11/26 20:52
→ clarkman:強迫用舊版。新的mfc改成傳指標,所以不會有問題,但不太 11/26 20:53
→ clarkman:可能叫客人還要抓東西。第二個方法也是,客人會覺得自己 11/26 20:53
→ clarkman:更新太麻煩,也不想~~~ 我在想想辦法,感謝你!! 11/26 20:53
推 purpose:我還是不懂耶,客人只是使用你建立的執行檔而已,編譯者是 11/26 20:58
→ purpose:你,你只要用新版MFC就好,你也說你正在用2008了,怎會還 11/26 20:58
→ purpose:要客人抓東西?如果是客戶電腦沒新版mfc.dll,你附上就好 11/26 20:59
→ clarkman:喔喔,我本來是想說作成一個EXE,不要再附加檔案,因為 11/26 21:19
→ clarkman:想說這樣子就不用更新mfc的dll給客人,了解了,多謝 11/26 21:20
→ clarkman:之前會那樣講是因為我編譯新版mfc,但客人電腦mfc的dll是 11/26 21:22
→ clarkman:舊的,所以當我去動態抓取dll的函式,丟資料過去就會有 11/26 21:22
→ clarkman:我這邊的定義是新的結構(更大),客人的是舊的dll(定義 11/26 21:23
→ clarkman:較小),我是有成弄靜態static包進去。 11/26 21:23