VB6 to VB.net (RegSvr32,RegAsm issue)

netpicker9

Member
Joined
Dec 8, 2004
Messages
17
Programming Experience
1-3
Hi,

I have third party application which was written in C++. the C++ application calls VB6 (windows) application.
VB6 Application name: LIFE.DLL

I took VB6 application and i wrote similar application in VB.net (class library) and made that assembly COM visible and added COM class, SNK file. I compiled it and registered it with regasm and copied the DLL to GAC.
VB.net application name: LIFE.DLL

and i unregistered the vb6 version (LIFE.dll) using regsvr32.

Now when I call the 'LIFE' application from C++ window, that VB.net application is not opening.. why is it like that?
i know i can't use regsvr32 to register vb.net dll.. how to solve this issue?

VB6 Code: (ActiveX DLL)
VB.NET:
Class MainCycle
Public Function Worker(objOne As Object) As Boolean
    MsgBox ("VB6")
End Function

VB.net Code: (Class Library)
VB.NET:
Public Class MainCycle
#Region "COM GUIDs"
    Public Const ClassId As String = "" 'it generated some number here, i am not giving it in forum
    Public Const InterfaceId As String = "" 'it generated some number here, i am not giving it in forum
    Public Const EventsId As String = ""  'it generated some number here, i am not giving it in forum
#End Region

    ' A creatable COM class must have a Public Sub New() 
    ' with no parameters, otherwise, the class will not be 
    ' registered in the COM registry and cannot be created 
    ' via CreateObject.
    Public Sub New()
        MyBase.New()
    End Sub

    Public Function Worker(ByRef objOne As Object) As Boolean
        MsgBox("VB.NET")
        Return True
    End Function
End Class

VB.NET:
RegAsm LIFE.DLL /tlb:LIFE.tlb
GacUtil /I LIFE.DLL

in C++
is calling like this
VB.NET:
Call LIFE.MainCycle (i am not giving correct syntax here)

What changes that i need to make in VB.net class library?

thanks
 
Back
Top