2009-02-05 33 views
1

我在Vista上使用VS 2008開發了一個功能區應用程序。它在Vista上正常工作。我靜態鏈接MFC,以便我可以在XP上運行它。運行Windows XP MFC功能區應用程序「遇到不正確的參數」

但是,當我在XP上運行它時,它會彈出一個對話框,提示「所需的資源不可用」。 後來,如果我在這個對話框上按OK,它會提出另一個說「遇到不合適的論點」。很多這樣的(「遇到......」)對話框(一個接一個地)跟隨,直到我從任務管理器中終止它。

我注意到有趣的事情是,當我將鼠標指針放在功能區欄上時,會發生這種情況。我什麼都不做。然後我打開任務管理器,看到每秒使用的內存增加8個字節。最終在上面的場景之後。

?????

+0

@Ron,我認爲「我嘗試在XP系統上安裝MFC功能包,但它失敗了三次。」非常重要,足以證明你有問題,而不是作爲對答案的評論。我認爲這會回答你的問題,因爲沒有安裝功能包,你的軟件將如何運行? – paxdiablo 2009-02-05 04:31:52

+0

我假設你實際上正在談論VC2008功能包。你應該試圖安裝它還是可再發行組件包。該功能包是VC的補充,這些可再發行包應該發送給您的應用的用戶。 – paxdiablo 2009-02-05 04:39:51

回答

0

我的代碼中有資源泄漏導致此問題。

我在更新功能區欄控件(ON_UPDATE_COMMAND_UI)時調用了GetDC(),但尚未發佈它。使用ReleaseDC發佈它(..)解決了問題。

感謝您的回覆。

0

很可能是功能區是Vista中Win32常用控件的一部分(因此在XP下不可用)。換句話說,雖然你有靜態鏈接的MFC,它可能不是MFC,它擁有你正在尋找的資源。

製作社區wiki,因爲我真的不知道這是否正確:-)。

相關問題