接口名稱末尾的數字是什麼意思?我看到IHTMLDocument3-7
沒有成員(see example for #5),而8
有手勢相關的成員。是從Windows版本派生的數字?爲什麼Microsoft有IHTMLDocument,IHTMLDocument2,...,IHTMLDocument8?
回答
這是公共COM接口的一般特徵。
如果你想要向後兼容,你永遠不想改變已發佈的界面,因爲那意味着所有人寫的代碼,比如說IE 6停止使用IE 7,而且他們的所有客戶都對他們生氣,他們生你的氣。因此,如果IE 5添加了需要暴露的新功能,而不是更改IHTMLDocument
,那麼您將創建一個新界面,同時支持IE5(通過繼承,QueryInterface
或更明確的機制)。而當IE 7.0.2或者IE 8或者Win XP或者其他任何增加更多新功能的時候,你可以創建另一個。等等。
雖然MS可能已經提出了描述性後綴而不僅僅是序列號,但這可能會比有幫助的更令人困惑。所以,IHTMLDocument2
,IHTMLDocument3
等都是這個名字。除了他們添加的順序外,他們沒有任何意義。
否 - 它只是表示接口的不同版本。它無關,與Windows版本(和,對於這個問題,小/無關MSHTML版本):
接口名稱末尾的數字是什麼意思?
這是版本控制COM接口的標準約定。 IXXX2使用新功能擴展了IXXX。 IXXX3使用新功能擴展了IXXX2,依此類推。這允許客戶端在發佈新版本時不中斷地使用舊功能,並且在需要時使用更新的功能,甚至在嘗試調用它們之前檢查這些功能是否可用。
我看到IHTMLDocument3-7沒有成員
你從哪裏得到這個想法?看看他們的實際定義。他們將許多新成員從一個界面展示給下一個界面。
確實。在SDK中查看mshtml.h通常很有趣並且很有啓發性。 –
爲http://msdn.microsoft.com/en-us/library/aa752541(v=vs.85).aspx
在這裏我們可以看到:
的IHTMLDocument3接口從IDispatch接口 接口繼承,但沒有其他成員。
它可以很容易讓新手接口世界混淆。
IHTMLDocument3確實有更多成員。 micro $ oft文檔的質量非常糟糕。 – Gammadyne
- 1. 爲什麼IHTMLDocument2不等於IHTMLDocument2.body.document?
- 2. 什麼是Microsoft OSLO?
- 3. 什麼是Microsoft Unity?
- 4. 爲什麼Microsoft Translate API提供404?
- 5. 爲什麼Microsoft Graph更具限制性?
- 6. 爲什麼我無法調試Microsoft Outlook?
- 7. Microsoft Access - 輸入參數值爲什麼?
- 8. 此Microsoft Access查詢有什麼問題?
- 9. Microsoft WebMatrix和Visual Studio有什麼區別?
- 10. Oracle和Microsoft模式有什麼區別?
- 11. IHTMLDocument2無處不在
- 12. 什麼是Microsoft SQL服務器,爲什麼需要安裝它?
- 13. 如何從IHTMLDocument2獲取所有mshtml.IHTMLDivElement?
- 14. 爲Microsoft的Luis編寫F#Type Provider有什麼好方法?
- 15. C#:爲什麼Microsoft沒有從ReadOnlyCollectionBase繼承ReadOnlyCollection <T>?
- 16. 使用IHTMLDocument而不是IWebBrowser2
- 17. 'Microsoft Symbol Servers'包含什麼?
- 18. Microsoft WebMatrix:它是什麼?
- 19. 什麼是Microsoft Dynamics AX?
- 20. 什麼是用於Microsoft Windows
- 21. 什麼是Microsoft Application Verifier?
- 22. Skype Bot Framework和Microsoft Bot Framework有什麼區別?前者有什麼優點嗎?
- 23. 可用內存的IHTMLDocument2
- 24. IHTMLDocument2/IHTMLDocument3幀數不同
- 25. 爲什麼Microsoft爲自己的類使用擴展方法?
- 26. 爲什麼Microsoft使用14.667而不是14作爲ControlContentThemeFontSize?
- 27. 爲什麼有InvokeRequired
- 28. 爲什麼Me.components什麼都沒有?
- 29. 爲什麼我的課沒有什麼?
- 30. 爲什麼gridview.selectedColumns什麼都沒有?
無成員文檔錯誤是一個迴歸,因爲已經修復... –