VB调用COM解决思路

VB调用COM
小弟是学VC的,最近用到VB调用VC写的COM组件,继承COM组件的接口(interface)CAA,并调用里面的函数BB。
因为我对VB语法的 不熟悉,所以实现起来就特别麻烦,希望各位VB达人能指教下,给出源码更加感激不尽,THANK U。
------解决方案--------------------
看看这本书,上面有对COM的详细介绍:
http://download.****.net/source/1371398
------解决方案--------------------
声明创建对象,然后使用其方法属性等。
------解决方案--------------------
'先定义
Dim xCom as YourComObject
'调用BB
xCom.BB para1,para2,...

好像是这么用,你参考下。
------解决方案--------------------
提供一个vb的大概

Private Recievedata As String

Private Sub Form_Load()

    Comm1.Settings = "2400,N,8,1" '设置通信口参数
    Comm1.InBufferSize = 190 '设置Comm1接收缓冲区为19字节
    Comm1.OutBufferSize = 2 '设置Comm1发送缓冲区为2字节
    Comm1.InputMode = comInputModeBinary '设置接收数据模式为二进制形式
    Comm1.InBufferCount = 0 '清除接收缓冲区
    Comm1.OutBufferCount = 0 '清除发送缓冲区
    Comm1.CommPort = 1
    Comm1.InputLen = 190 '设置由串型端口读入的字符长度
    Comm1.PortOpen = True '打开通信口
    Comm1.RThreshold = 19 '设置接收19个字节产生OnComm事件
    
End Sub

Private Sub InquireScale_Click()

    Dim txtSum1 As String
    txtSum1 = "SR" & vbLf
    If Comm1.PortOpen = False Then
        Comm1.PortOpen = True
    End If
    Comm1.Output = txtSum1
    
    'Debug.Print Comm1.OutBufferCount
    'Debug.Print Comm1.InBufferCount
    
    Comm1.OutBufferCount = 0 '清除发送缓冲区
    Comm1.InBufferCount = 0 '清除接收缓冲区

End Sub

Private Sub ZeroScale_Click()
    
    Dim txtSum As String
    txtSum = "ZI" & vbLf
    'Debug.Print TypeName(txtSum)
    If Comm1.PortOpen = False Then
        Comm1.PortOpen = True
    End If
                  
    Comm1.Output = txtSum
    'Debug.Print Comm1.OutBufferCount
    
    Comm1.OutBufferCount = 0 '清除发送缓冲区
    Comm1.InBufferCount = 0 '清除接收缓冲区

End Sub

Private Sub Comm1_OnComm()
    
    On Error Resume Next
    Dim BytesReceived() As Byte
    Dim buffer As String
    Dim HData As String
    Dim i As Integer
    
    
    Select Case Comm1.CommEvent
        Case comEvReceive               '接收十六进制数据。并以十六进制显示
            buffer = Comm1.Input                  '接收数据至字符串中
            BytesReceived() = buffer                '将数据转入Byte数组中
            Debug.Print buffer
            For i = 0 To UBound(BytesReceived)      '显示结果以十六进制显示
                If Len(Hex(BytesReceived(i))) = 1 Then
                    HData = HData & "0" & Hex(BytesReceived(i))
                Else
                    HData = HData & Hex(BytesReceived(i))
                End If
                Recievedata = HData
                '最后将结果后入Recievedata中
                Comm1.OutBufferCount = 0      '清除发送缓冲区