2010-05-06 74 views
2

有人可以指導我如何使用VC++創建一個簡單的COM類,我可以讓它通過VB6應用程序與CreateObject調用?VC++:幫助創建一個簡單的COM類

謝謝!

+1

要得到很遠,你需要定義更多你想要的東西。舉例來說,您可以使用原始C++,MFC或ATL創建一個COM對象,但這三者之間存在相當大的差異。 – 2010-05-06 19:57:30

+0

也許原始的C++更好?我不想對這個DLL有很多依賴,因爲它只需要一個方法就返回一個雙精度數 – John 2010-05-06 20:00:38

回答

2

如果您使用「原始C++」,即使只是一個基本的COM類,也需要處理一些令人難以置信的繁瑣細節。到目前爲止,在C++中創建COM-callable類的最簡單方法是ATL,它甚至爲此提供了一個嚮導(至少在VS 2005和2008中)。該向導將吐出一個完全可用的coclass,包括參考計數,註冊和一個自定義界面。請記住,VB使用後期綁定,所以你需要在你的課堂上實現IDispatch(你可以使用ATL的IDispatchImpl來簡化你的生活)。

順便說一句,ATL給你一個非常小的腳印(它是一個模板庫) - 只是VC++運行時,所以沒有太多的依賴關係。