当前位置:编程学习 > C#/ASP.NET >>

如何将VS2008中的VB.NET封装成COM组件供VC2008调用?

  如题,请大家多帮忙! --------------------编程问答-------------------- 新建一个 项目 ,选择 Visual Basic \ Window \ 类库 ,假设项目名为CLSWangli 

  然后 在 solution manager(解决方案资源管理器)中, 将 新创建的 Class1.vb 文件删除。 

  然后 在  solution manager(解决方案资源管理器)中 的项目上点击右键 ,在弹出的菜单上 点击 添加 \ 类 ,在弹出的对话框中选择 com类 ,修改类的名称(本例中修改为ComC.vb),后点击 添加 按钮。 

  则会看到ComC.vb的代码如下: 

  <ComClass(ComC.ClassId, ComC.Inte易做图ceId, ComC.EventsId)> _ 

  Public Class ComCClass ComC 

  COM GUID#Region "COM GUID" 

  ' 这些 GUID 提供此类的 COM 标识 

  ' 及其 COM 接口。若更改它们,则现有的 

  ' 客户端将不再能访问此类。 

  Public Const ClassId As String = "97451265-d75d-4d5a-a39d-6c4b68f8dd99" 

  Public Const Inte易做图ceId As String = "5015b9e7-64e6-4750-8c28-5c51d968f1d6" 

  Public Const EventsId As String = "1afd03f4-5974-445e-8ca2-a8e9be3432d7" 

  #End Region 

  ' 可创建的 COM 类必须具有一个不带参数的 Public Sub New() 

  ' 否则, 将不会在 

  ' COM 注册表中注册此类,且无法通过 

  ' CreateObject 创建此类。 

  Public Sub New()Sub New() 

  MyBase.New() 

  End Sub 

  End Class 

  现在只要在这个类中添加 public 的成员即可 ,假如我们添加一个 方法 Northsnow 

  <ComClass(ComC.ClassId, ComC.Inte易做图ceId, ComC.EventsId)> _ 

  Public Class ComCClass ComC 

  COM GUID#Region "COM GUID" 

  ' 这些 GUID 提供此类的 COM 标识 

  ' 及其 COM 接口。若更改它们,则现有的 

  ' 客户端将不再能访问此类。 

  Public Const ClassId As String = "97451265-d75d-4d5a-a39d-6c4b68f8dd99" 

  Public Const Inte易做图ceId As String = "5015b9e7-64e6-4750-8c28-5c51d968f1d6" 

  Public Const EventsId As String = "1afd03f4-5974-445e-8ca2-a8e9be3432d7" 

  #End Region 

  ' 可创建的 COM 类必须具有一个不带参数的 Public Sub New() 

  ' 否则, 将不会在 

  ' COM 注册表中注册此类,且无法通过 

  ' CreateObject 创建此类。 

  Public Sub New()Sub New() 

  MyBase.New() 

  End Sub 

  Public Sub Northsnow()Sub Northsnow(ByVal ss As String) 

  MsgBox(ss) 

  End Sub 

  End Class 

 2\ 然后就可以编译,编译后,在pb中添加如下的代码来调用这个com 

  int intValue 

  oleobject objOle 

  objOle=create OLEObject 

  intValue=objOle.connecttonewobject("ClsWangli.ComC") 

  objOLe.Northsnow("I am Northsnow") 

3\ 在vb。net中
    dim Mycls as new clswangli.comC
    mycls.NorthSnow
  运行这个程序就会看到效果。 
--------------------编程问答-------------------- 在项目属性|应用程序|程序集信息中选中“使程序集COM可见”

如果想让VS自动注册,则选中COM互操作注册

部分内容需要添加接口,例如事件。
补充:.NET技术 ,  VB.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,