CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2

Thread: Using TLB

  1. #1
    Join Date
    Aug 2000
    Location
    NY, USA
    Posts
    632

    Using TLB

    I created very simple Class Library in VB 2005 (let's call it COMInterop). I
    set Register For COM Interop property to true to make it accessible by VB6
    program.
    After I compiled it, I got COMInterop.dll and COMInterop.tlb files, I have
    no problem with using both of them on the machine where the project was
    compiled - TLB with VB6 clients and DLL with VB 2005 clients.
    I copied the tlb and dll files onto another machine and registered TLB file
    with regtlib.exe. I've got a message about successful registration.
    I created a new VB 2005 Windows Form project, added the reference to
    COMInterop.dll and it works fine.
    I created VB6 project, added a reference to this TLB. I'm trying to use it
    with the simple code which works with VB 2005, but produces an error in VB6:
    Run time error '429':
    ActiveX component can't create object

    The code in client:
    Private obj As COMInteropTest.COMInterop
    Private Sub Command1_Click()
    Set obj = New COMInteropTest.COMInterop 'The error occurs on this line
    MsgBox obj.myFunction
    End Sub

    What am I missing? How do I make VB6 client work with TLB on any machine,
    not only on the machine it was created?

    Thank you

  2. #2
    Join Date
    Jun 2001
    Location
    MO, USA
    Posts
    2,868

    Re: Using TLB

    Use Regsvr32 to register the DLL.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured