天天看點

建立基于ATL的COM元件注意事項

1:在建立ATL項目時如果不選擇支援MFC則無法出現 IObjectSafetyImpl ,并且如果添加ATL對象時隻有選擇ATL控件時才能有上面接口出現。說明一個問題如果想出現IObjectSafetyImpl,必須有兩個條件滿足:ATL項目支援MFC或者為EXE檔案;添加ATL控件。

2:生成後在web調用時要注意CSLID值,如果不想使用VS中生成的則可直接拷貝ATL對象的CSLID值即可(idl檔案中找到ATL對象名稱的UUID既是)。

3:注意VS6.0版本和VS2005及其以上版本自動生成的檔案不同,在6.0上會有“項目名.h”這個檔案而在更高的版本中則是“項目名_i.h”;另外一個檔案則相同為“項目名_i.c”。 這兩個檔案在C++程式中調用這個元件時需要include到項目中 ,需要特别注意。

4:網上有很多例子都說明不是很詳細,對于初學者來說很費勁并且大部分都是互相拷貝。根據自己的實際情況建議對于原理性的東西在開始時沒必要深究,大概了解即可;而後續實際動手生成一個例子則可以更好的了解概念性的東西。

     最好找一個VS的教程關于ATL+COM的制作方法方面的再來動手可以有事半功倍的效果。千萬不要找網上的執行個體都是抄襲的還不說,一點都不詳細搞得人摸不着頭緒