用 Visual Basic 2010创建 COM 对象 标准COM类DLL

         创建新的应用程序或组件时, 最好创建 .NET Framework 程序集。 不过, Visual Basic 还可以轻松地向 COM 公开 .NET Framework 组件。 这使你可以为需要 COM 组件的早期应用程序套件提供新组件。 本演练演示了如何使用 Visual Basic 将 .NET Framework 对象公开为 COM 对象, 无论使用 COM 类模板还是不使用 COM 类模板。

公开 COM 对象的最简单方法是使用 COM 类模板。 COM 类模板会创建一个新类, 然后将项目配置为生成类和互操作性层作为 COM 对象并将其注册到操作系统。

使用 COM 类模板创建 COM 对象

 

在类中设置代码以创建 COM 对象

 

  1. 单击 "新建项目", 从 "文件" 菜单打开新的 Windows 应用程序项目。

  2. 在 "新建项目" 对话框中的 "项目类型" 字段下, 选中 "Windows" 处于选中状态。 从 "模板" 列表中选择 "类库", 然后单击 "确定" 。 将显示新项目。

  3. 从 "项目" 菜单中选择 "添加新项"。 随即出现“添加新项”对话框。

  4. 从 "模板" 列表中选择COM 类, 然后单击 "添加"。 Visual Basic 添加一个新类, 并为 COM 互操作配置新的项目。

  5. 向 COM 类中添加代码, 如属性、方法和事件。

  6. 从 "生成" 菜单中选择 "生成 classlibrary1.chainone "。 Visual Basic 生成程序集并向操作系统注册 COM 对象。

    标题

    不带 COM 类模板创建 COM 对象

    你还可以手动创建 COM 类, 而不是使用 COM 类模板。 当你在命令行中工作或需要更好地控制如何定义 COM 对象时, 此过程非常有用。

    设置项目以生成 COM 对象

  7. 单击 " NewProject", 从 "文件" 菜单打开新的 Windows 应用程序项目。

  8. 在 "新建项目" 对话框中的 "项目类型" 字段下, 选中 "Windows" 处于选中状态。 从 "模板" 列表中选择 "类库", 然后单击 "确定" 。 将显示新项目。

  9. 解决方案资源管理器中, 双击 " Class1 " 以显示其代码。

  10. 将该类重命名为 ComClass1

  11. 将以下常量添加到ComClass1。 它们将存储 COM 对象所需的全局唯一标识符 (GUID) 常量。

    VB复制

    Public Const ClassId As String = ""
    Public Const InterfaceId As String = ""
    Public Const EventsId As String = ""
    
  12. 在“工具”菜单上,单击“创建 Guid”。 在“创建 GUID”对话框中,单击“注册表格式”,然后单击“复制”。 单击“退出”。

  13.  

  14. 用 GUID 替换的ClassId空字符串, 同时删除前导大括号和尾随大括号。 例如, 如果 guidgen.exe 提供的 GUID 为"{2C8B0AEE-02C9-486e-B809-C780A11530FE}" , 则代码应如下所示。

    VB复制

    Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"
    
  15. InterfaceId 和EventsId常量重复前面的步骤, 如以下示例中所示。

    VB复制

    Public Const InterfaceId As String = "3D8B5BA4-FB8C-5ff8-8468-11BF6BD5CF91"
    Public Const EventsId As String = "2B691787-6ED7-401e-90A4-B3B9C0360E31"
    

  16.  备注

    请确保 Guid 是新的且唯一的;否则, COM 组件可能会与其他 COM 组件发生冲突。

  17. 将属性添加到ComClass1, 并为类 id、接口 ID 和事件 ID 指定 guid, 如以下示例中所示: ComClass

    VB复制

    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)>
    Public Class ComClass1
    
  18. COM 类必须具有无参数Public Sub New()的构造函数, 否则类将不会正确注册。 向类添加无参数构造函数:

    VB复制

    Public Sub New()
        MyBase.New()
    End Sub
    
  19. 向类添加属性、方法和事件, 并将其End Class以语句结束。 从 "生成" 菜单中选择 "生成解决方案"。 Visual Basic 生成程序集并向操作系统注册 COM 对象。

    • 在“解决方案资源管理器”中,右键单击项目,然后单击“属性”。 随即显示 "项目设计器"。

    • 单击“编译”选项卡。

    • 选中 "为 COM 互操作注册" 复选框。

    • 添加上一个公共函数,生成dll,在别的地方就可以用以下方式调用了

    •   Shell("regsvr32 **.dll /s") '注册插件到系统
              Dim sm As Object = CreateObject("*.*")‘创建对象,第一个*是插件文件名,第二个*是类名
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值