我對com處理有疑問。處理com版本中可能不存在的函數
我正在使用第三方dll,我通過#import包含,使用named_guids作爲參數。我不知道我是否應該使用另一個參數或不適當的導入..?
問題是存在不同版本的dll。我正在使用的一個特定功能是在最後一個dll版本中添加的。因此,如果客戶擁有較舊的版本,則會出現異常 - 執行位置(某地址)的訪問衝突。我明白這個錯誤告訴我函數不能被找到,但是如何捕獲這個異常呢?
我試着用的try-catch(_com_error) - 沒什麼,的try-catch(的std ::除外) - 什麼都沒有,甚至的try-catch(...) - 仍然一無所獲。
我可以捕獲這種異常並記錄異常並告訴客戶dll有問題嗎?
我沒有使用LoadLibrary和GetProcAddress。
感謝很多:)這正是我需要的。 – Alek
@Alex,那麼你應該給第三方開發者一個主要的咀嚼破壞這個規則。這實際上是您在COM中創建接口時學到的第一件事。沒有任何藉口。 –