您的位置 首页 数字

运用.NET2.0 编写COM组件供Visual Basic调用

1.定义接口Com是通过抛出接口让外部应用调用的,每个接口、组件都有一个Guid,在.Net中开发Com组件也不例外。[Guid(“0bb13346-7e9d-4aba-9ff2-862e

1.界说接口

Com是通过抛出接口让外部运用调用的,每个接口、组件都有一个Guid,在.Net中开发Com组件也不破例。

[Guid(“0bb13346-7e9d-4aba-9ff2-862e0105489a”)]

public interface IMyService

{

//界说接口办法或许特点,每个办法或特点都有一个DISPID特点,供VBScript等运用

[DispId( 1 )]

void Method1( args … );

}

2.完成接口的派生类

//Guid特点界说组件的Guid

//ProgID界说Com组件的ProgID

[Guid(

ba0a3019-f0d8-4406-8116-f80d5515c686 ) ,

ProgId(ClassNamespace.MyService),

ClassInterface(

ClassInterfaceType.None)]

public class

MyService : IMyService

{

…… //完成代码部分

}

3.将.Net装配件转换为公有装配件

(1)创立强姓名

sn –k mykey.snk

并将强姓名拷贝到工程目录下面

在AssembyInfo.cs修正对应的装备

[assembly: AssemblyKeyFile(“../../mykey.snk”)]

(2)导出类型库

为了在VB中运用,有必要运用tlbexp.exe导出Com类型库。

tlbexp SisCalLib.dll /out:SisCalLib.tlb

(3注册装配件

RegAsm MyService.dll

(4)将装配件参加GAC

gacutil -i MyService.dll

留意:该过程不是有必要的。

(5)在AssembyInfo.cs修正COM对外可见性装备

// 将 ComVisible 设置为 false 使此程序会集的类型

// 对 COM 组件不行见。假如需要从 COM 拜访此程序会集的类型,

// 则将该类型上的 ComVisible 特点设置为 true。

[assembly: ComVisible(true)]

// 假如此项目向 COM 揭露,则下列 GUID 用于类型库的 ID

[assembly: Guid(e011ed16-93a3-41aa-8375-399fa259b935)]

通过上面的作业,就将一个.NET装配件转化为COM组件

4.在VB中调用生成的COM组件(dll)

1)工程->引证

2)创立目标调用

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/301075.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部