加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net编写并调用com元件

发布时间:2020-12-16 23:06:45 所属栏目:大数据 来源:网络整理
导读:利用vb.net编写并调用com元件的过程: 1、建立ClassLibrary。 即建立一个类库。然后将默认的普通class删掉,右键Item,选择ComClass,在这个类中需要引入.NET下的System.EnterpriseServices这个架构的支持。方法是:Add Reference,然后选择.net下的这个架构

利用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 '必须添加

在类最后添加:

'加入如下:
<Assembly: ApplicationName("COMMTEST3")> 'COMMTEST3是其他项目访问该com的名字
<Assembly: ApplicationAccessControl(False)>
<Assembly: ApplicationActivation(ActivationOption.Server)>


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进行修改。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读