概述
利用vb.net编写并调用com元件的过程:
1、建立ClassLibrary。
即建立一个类库。然后将默认的普通class删掉,右键Item,选择ComClass,在这个类中需要引入.NET下的System.EnterpriseServices这个架构的支持。方法是:Add Reference,然后选择.net下的这个架构。
然后再该类中Imports System.EnterpriseServices
Imports System.Runtime.InteropServices
公共的public class必须Inherits ServicedComponent
在类中还可以写其他方法。
2、在编译类库牵,可以为类库设置一个强签名。然后新建一个密钥文件,这个文件会自动加入到当前项目中来。
3、修改project下的AssemblyInfo.vb。
Imports System.EnterpriseServices '必须添加
在类最后添加:
'加入如下:
'COMMTEST3是其他项目访问该com的名字
3、编译类。
编译完类后,打开.netFrameWork2.0的SDK,进入项目只对应的路径下的bin目录,制作两个.bat文件。利用命令将制作好的com元件打包。這兩個bat文件為:RegCom.bat和URegCom.bat。 RegCom.bat文件的內容為:regsvcs %1.dll gacutil /i %1.dll UnRegCom.bat文件的內容為: gacutil /u %1.dll regsvcs /u %1.dll 制作好這兩個bat文件后,就可以將project存放路徑bin下的由先前編譯產生的.dll文件經過bat文件的處理,而制作成com元件。方法為:打开.netFrameWork2.0的SDK,进入项目只对应的路径下的bin目录,輸入:RegCom.bat +.dll文件。這樣就可以產生com元件了
如果成功将com元件打包,可以在控制面板下的组件服务下找到该com元件。
将com元件制作好后,就可以在应用程序中使用该com元件了。使用com元件有两种方式:
(1),卸载方式
(2),非卸载方式,即reference先前包装好的dll文件。同时还需要reference .net下的System.EnterpriseServices这个服务。 這兩種方法的具體代碼為: Dim msgbuf As Object msgbuf = CreateObject("ClassLibrary1.comtest2") '非卸載的方式 Dim msgbuf2 As New ClassLibrary1.comtest2 '卸載的方式 需要reference System.Enterprise.Services這個com元件 Try msgbuf.commsgtest() msgbuf2.commsgtest() Catch ex As Exception Finally ' msgbuf.Dispose() msgbuf2.Dispose() '釋放com End Try "ClassLibrary1.comtest2"是指定名稱下的元件。
不管是使用哪种方式,最后都需要将com元件释放,可以使用dispose()
总结:使用com元件的好处是:可以实现动态引用。当有变化时,不需要整个项目都发生变化,只需要对指定的com进行修改。
总结
以上是编程之家为你收集整理的vb.net编写并调用com元件全部内容,希望文章能够帮你解决vb.net编写并调用com元件所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
小编个人微信号 jb51ccc
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!
最后
以上就是要减肥纸鹤为你收集整理的html编辑vb.net,vb.net编写并调用com元件的全部内容,希望文章能够帮你解决html编辑vb.net,vb.net编写并调用com元件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复