Share via


自動化伺服器

自動化,讓應用程式處理其他的應用程式中實作的物件,或公開 (expose) 物件,因此可以進行操作。 「 自動化 」 伺服器是公開 (expose) 給其他應用程式的可程式化物件 (稱為自動化物件) 的應用程式 (稱為自動化用戶端)。 自動化伺服器也稱為自動化元件。

Automation 物件的公開可讓用戶端直接存取的物件自動執行特定程序,讓伺服器的功能。 當應用程式提供可用於其他應用程式的功能,這樣將物件公開是很有幫助。 例如,文書處理器可能公開其拼字檢查功能,以供其他程式使用。 物件的公開因此可讓廠商使用的其他應用程式現成的功能來改善其應用程式的功能。

這些自動化物件具有屬性及方法,為其外部介面。 屬性被命名的 Automation 物件的屬性。 屬性就像是 C++ 類別的資料成員。 方法是使用 Automation 物件的功能。 就像 C++ 類別的公用成員函式的方法。

注意事項注意事項

雖然屬性就像是 C++ 資料成員,他們並不直接存取。若要提供透明的存取,設定的內部變數,以一對 get/set 成員函式的自動化物件中可以存取它們。

藉由公開應用程式的功能,透過通用的妥善定義的介面,自動化可讓建置應用程式,以單一一般程式設計語言就像而不是 Microsoft Visual Basic 多樣、 應用程式特定的巨集語言。

自動化伺服器的支援

Visual C++ 和 MFC 架構提供了大量支援自動化伺服器。 在處理大部分的額外負荷讓 「 自動化 」 伺服器,以便將精力專注應用程式的功能。

架構的支援自動化的主要機制是分派對應,一組巨集,都可展開成的宣告和呼叫來 ole 公開的方法和屬性。 典型的分派對應如下所示:

BEGIN_DISPATCH_MAP(CMyServerDoc, COleServerDoc)
    DISP_PROPERTY(CMyServerDoc, "Msg", m_strMsg, VT_BSTR)
    DISP_FUNCTION(CMyServerDoc, "SetDirty", SetDirty, VT_EMPTY, VTS_I4)
END_DISPATCH_MAP()

[檢視] 和 [類別檢視] 協助維護分派對應。 當您新增新的方法或屬性至類別時,Visual C++ 中新增相關DISP_FUNCTION或DISP_PROPERTY巨集,以指出類別名稱、 外部和內部的方法或屬性和資料型別名稱的參數。

加入類別的自動化類別宣告和其屬性和作業的管理,也能簡化] 對話方塊。 當您將類別加入至您的專案中使用 [加入類別] 對話方塊時,您可以指定其基底類別。 如果基底類別也可讓自動化,[加入類別] 對話方塊會顯示您使用來指定新的類別是否應該支援自動化,無論是"OLE 可建立"(也就是是否類別的物件可以建立從 COM 用戶端的要求),並使用 COM 用戶端的外部名稱的控制項。

加入類別 ] 對話方塊中,然後建立類別宣告,包括適當的巨集,如 OLE 功能,您所指定。 它也會加入您的類別成員函式實作的基本架構程式碼。

MFC 應用程式精靈可簡化您的自動化伺服器應用程式踏所需的步驟。 如果您選取 [ 自動化核取方塊,從進階功能一頁,MFC 應用程式精靈會將您的應用程式加入InitInstance的函式以註冊您的 Automation 物件,並以 「 自動化 」 伺服器中執行應用程式所需的呼叫。

6wx53dax.collapse_all(zh-tw,VS.110).gif您想要怎麼做?

請參閱

參考

MFC 應用程式精靈

概念

Automation