如何編寫和注冊.Net的Com組件
Com+組件在vb6.0和vc++的年代是風靡一時的,當前.net framework的構件系統,因為其無需注冊等優點漸漸取代了Com+的地位,但一些系統由于歷史問題,還是需要com+支持的,其實在.net中編寫com+組件也是一件非常簡單的事情.
在vs2003中,要想生成com+組件,其實額外的工作只有一個,就是對項目按下圖所示,

程序其他部分和其它沒有差別,不再贅述
重點在于如何注冊.net寫的com+組件
網上有一些說法,但我按照其操作,均未成功,或者在程序訪問的時候,出現權限問題。其實.net 寫的com+組件不能直接用regsvr32.exe來注冊,因為這樣一來,系統會缺少元數據,我們首先需要用.net framework提供的工具regasm,將該com組件所需元數據寫入注冊表中,注冊表允許 COM 客戶程序以透明方式創建 .NET Framework 類。類一經注冊,任何 COM 客戶程序都可以使用它,就好像該類是一個 COM 類。在編譯好的目錄中,com組件會多產生一個同名的.tlb文件,regasm的用法如下:regasm /tlb: /tlb:Encrypter.tlb Encrypter.dll,此步驟經過我的實驗,不可或缺。
然后,就可以利用組件服務將.net com組件設置為com服務了。設置過程中,需要注意下權限的設置就行了。
有關tlb文件的說明如下:
TLB是一種OLE(或ActiveX)定義文件,它包括常數、接口(Interface)、類等的定義。你可以在VB的集成環境的Project|Reference中將TLB文件加入項目,然后在Object Browser中看到該文件中包括哪些常數、接口、類,而每個類又包括什么方法和屬性。微軟提供的各種SDK中通常包括一個或數個TLB文件以方便編程。你也可以制作TLB文件,首先編寫一個ODL文件(在VC++的幫助中有語法說明),然后使用MKTYPLIB(在VB光盤上有)編譯生成TLB文件。類似的文件,還有Office所提供的OLB文件。
察看http://www.dotblogs.com.tw/huanlin/archive/2008/04/23/3196.aspx能獲得更過得信息
出處:http://jillzhang.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

浙公網安備 33010602011771號