環境:VS2008,C++ ATL COM位,64位,Windows 7的ATL:無法刪除COM接口的方法 - 總是會再次出現像變魔術一樣
我試圖從舊的COM接口刪除的方法。我修改* .idl,修改關聯的* .h和* .cpp實現文件,並將其從主項目的.h文件中移除。我可以搜索整個項目的舊方法名稱 - 不顯示,並且編譯/鏈接正常。但是,如果我然後使用對象瀏覽器來查看編譯的DLL - dang方法仍然存在!如果我在.NET項目中'引用'該DLL - 顯示該方法。如果.NET代碼試圖使用該方法 - 它會得到一個內存異常(這是有道理的)。我不能爲我的生活弄清楚如何修改IDL,刪除方法代碼並使得到的編譯後的DLL正確。
這裏heck是潛伏的方法,並有一種不同的方法從現有的ATL生成的COM接口中刪除一個方法?我很難過!謝謝!
VS2008鏈接後重新註冊DLL。如果我使用對象瀏覽器查看剛剛編譯的DLL,則顯示我刪除的方法。我想我會刪除調試/發佈目錄,看看會發生什麼。 – Dale 2011-03-10 13:22:00