vb.net 封装组件成com的方法

 方法如下:

  新建一个 项目 ,选择 Visual Basic / Window / 类库 ,假设项目名为ClassLibrary1

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

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

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

< ComClass(ComC.ClassId, ComC.InterfaceId, ComC.EventsId) >  _
Public   Class ComC

COM GUID

    
' 可创建的 COM 类必须具有一个不带参数的 Public Sub New() 
    ' 否则, 将不会在 
    ' COM 注册表中注册此类,且无法通过
    ' CreateObject 创建此类。
    Public Sub New()
        
MyBase.New()
    
End Sub


End Class

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

 

< ComClass(ComC.ClassId, ComC.InterfaceId, ComC.EventsId) >  _
Public   Class ComC

COM GUID

    
' 可创建的 COM 类必须具有一个不带参数的 Public Sub New() 
    ' 否则, 将不会在 
    ' COM 注册表中注册此类,且无法通过
    ' CreateObject 创建此类。
    Public Sub New()
        
MyBase.New()
    
End Sub

    
Public Sub Northsnow(ByVal ss As String)

        
MsgBox(ss)
    
End Sub
    Public Function T(ByVal t1 As Int16, ByVal t2 As Int16) As Integer
        Dim q As Integer
        q = t1 * t2
        Return q
    End Function


End Class

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

{$R *.dfm}
  uses   ComObj ;
procedure TForm1.Button1Click(Sender: TObject);
var
  A_Com:Variant;
begin
A_Com := CreateOleObject('ClassLibrary1.ComC');
//A_Com.Northsnow('abcdefg');
edit1.Text:=inttostr(A_Com.T(10,5));   //Eedit1.text返回值为50
end;

运行这个程序就会看到效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值