2009-02-27 74 views
0

我一直在閱讀Essential COM,它是一本非常好的書,非常有教育意義並且易於理解。現在我想加快速度並實現一個簡單的COM對象,將其編譯爲一個.dll文件,並最終從客戶端應用程序中使用它。COM基本樣本

我真的很感激,如果有人可以展示如何做到最基本的樣本?

我一直在嘗試與this step by step,但除了發現一些錯誤,我無法使它的工作。原因是我創建了一個簡單的Win32應用程序,我從頭開始編寫COM代碼(如步驟所示)並且無法編譯/鏈接(很多錯誤),我必須忘記一些配置或一些包括在stdafx.h或其他。

我在Visual C++的工作與Microsoft Visual Studio 2003的.Net

提前感謝!

+0

至少告訴我們你卡在哪一步。 – 2009-02-27 22:28:57

回答

1

最無摩擦的方法之一是使用嚮導生成的解決方案之一,特別是VS 2008中的「ATL Project」嚮導(不確定大約在2003年)。當你問到你想要的服務器類型時,你只需選擇「DLL」,你就剩下一個非常有用的COM DLL骨架,在那裏填寫你的代碼。

提示:要添加一個新的COM接口和coclass,最簡單的方法是進入類視圖,右鍵單擊項目,選擇Add-> Class ...,然後選擇「ATL Simple Object」,然後選擇回答嚮導的問題。

編輯:回答託託在評論額外的問題(如何創建一個客戶端來使用新創建的COM DLL),答案是「這取決於語言」,因爲你在這裏有一個巨大的選擇。您可以使用VB(「添加引用」),C#/ VB.NET(「添加引用」,COM選項卡),VBScript(WScript.CreateObject),當然也可以使用C++。簡而言之,從C++客戶端您需要包含服務器的IDL並鏈接到服務器的LIB文件。

+0

謝謝!現在我把我的COM對象編譯成DLL並註冊。現在我想爲該對象實現一個客戶端(在一個新的Visual Studio項目中)。 我需要在這個新項目中包含以前項目的哪些文件? – mmutilva 2009-02-28 12:25:45