vb.net编写并调用com元件

前端之家收集整理的这篇文章主要介绍了vb.net编写并调用com元件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

原文链接:https://www.f2er.com/vb/261840.html

猜你在找的VB相关文章