2011-01-28 75 views
2

我在網上發現了許多對這個詞的引用,特別是在微軟的MSDN網站上,甚至是這些語言的列表。但是,我找不到這個術語的定義。 (是否像COM接口已實現的語言一樣簡單?)什麼是「自動兼容語言」?

如果知道定義的鏈接,請讓我知道。

謝謝。

回答

1

在Microsoft Windows應用程序 編程,OLE自動化(後來 被微軟更名爲剛 自動化,1 [2]雖然老 長期留在廣泛使用),是 的進程間通信 機制基於組件對象 通過腳本語言打算使用的模型(COM) Visual Basic - 但現在在Windows上運行的語言是 [3]。它 提供了一種基礎設施,由此 應用程序調用自動化 控制器可以訪問和操作 (即的組屬性或致電 方法)共享自動化對象 由其他 應用導出。

From Wikipedia entry

5

精簡到最基本的要素,來了解你必須瞭解的GUID和IUnknown的COM。自動化的等價物是ProgIDs和IDispatch。

ProgID幫助您創建COM coclass。一個典型的ProgID是「Word.Automation」,Microsoft Word的progid。您會在HKEY_CLASSES_ROOT下的註冊表中找到它們。您的語言中的助手函數的典型名稱是CreateObject()。您將ProgID(可選的機器名稱)傳遞給它,然後獲取接口引用。然後可以使用它來進行方法調用和獲取/設置屬性。

語言運行庫使用IDispatch接口(通過IUnknown :: QueryInterface檢索)來發現由COM服務器實現的方法的名稱和參數。這被稱爲後期綁定,即任何腳本語言使用自動化的方式。它只有4種方法:

  • 的IDispatch :: GetTypeInfoCount(),返回1,如果服務器可以提供類型信息
  • 的IDispatch :: GetTypeInfo的(),返回類型信息,有助於使類型安全的調用
  • IDispatch :: GetIDsOfNames(),將標識符名稱映射到數字
  • IDispatch :: Invoke(),調用編號的方法或屬性getter/setter。

這就是所需要的。

+0

這裏有人比我更瞭解谷歌搜索條目。我向你致敬,先生 – cuneyt 2011-01-29 00:17:10