我最近將一個VC++項目從2005年升級到2010年,除了資源之外,一切正常。我有一個2頁的標籤控件,所有的對話框在同一個資源文件中,TabControl被找到並顯示,但所有頁面都無法加載(公共_AfxCheckDialogTemplate()錯誤)。TabControl不能與VS2010一起工作
這很奇怪,因爲所有的對話框都在同一個文件中。我已經將AfxSetResourceHandle()設置爲正確的值。
我已經做了幾個測試,結果如下: - 使用DoModal直接加載屬性頁面:在第一個控件上的DDX_Text()失敗。 - 使用DoModal加載新創建的PPage:好的! - 在TabControl中加載相同的PPage:在AfxSetResourceHandle()上失敗 - 在TabControl中加載新的PPage:也失敗。
如前所述,該項目是從VS2005簡單遷移,它很好地工作。 我也把我的主機從XP 32改成了Seven 64bits,但我猜想這個pb更有可能與VS中的資源處理方式有關。我記得已經有很多問題了,特別是如果你在include中使用公共資源。
想知道現在該做什麼? VS2010中的TabControls有問題嗎?我搜索了很多,但到目前爲止還沒有發現任何有趣的內容。 是否有另一種方式從VS2005項目遷移資源?重新創建所有資源將會很長。 我應該簡單回覆到VS2005嗎?
感謝您的任何提示,
阿蘭
感謝您的提示。 –
它在我的項目中不見了,但在更正之後,錯誤是一樣的。但我測試了另一個項目非常相似,相同的資源結構,運行良好...所以我想我只需要重新創建項目並導入資源......謝謝! –
可憐的你,你應該修改對話框,使其具有'無失敗創建'風格。走着瞧吧。繞過te CDialog :: OnInitDialog()內容(註釋掉)。你可以看到哪些控件無法創建。成功! –