Uma dll escrita em VB.Net pode ser usada no Visual Basic 6.
Para isso configure o projeto conforme os passos a seguir.
Crie um projeto do tipo class library chamado ExemploDLL no Visual Studio 2005 e como linguagem escolha o VB.Net. No menu lateral Solution Explorer dê um duplo clique em My Project.
Na tela que se abre, acesse a aba lateral Compile e cheque a opção Register for COM Interop.
Abra o arquivo Class1.vb e crie um método, como abaixo:
Public Class ClasseNet
Public Function MeuNome() As String
Return "AGNALDO"
End Function
End Class
No menu Build clique na opção Build Solution, para criar o assembly (a dll).
Agora, crie um projeto do tipo Standard EXE no Visual Studio 6 e posicione um Button no formulário.
No menu Project escolha a opção References. Escolha e marque na lista a DLL desejada.
Dê um clique duplo sobre o Button e escreva o seguinte código:
Private Sub Command1_Click()
Dim o As New ExemploDLL.ClasseNet
MsgBox (o.MeuNome())
End Sub
Note que o Intellisense não funciona. Apesar disso, podemos executar o aplicativo pressionando [F5].
Para habilitar o recurso no VB6 devemos alterar a DLL no Visual Studio. Uma interface pública deve ser criada, para expor os métodos.
No Visual Studio 2005, altere o código de Class1.vb para:
Imports System.Runtime.InteropServices
Public Interface IClasseNet
Function MeuNome() As String
End Interface
_
Public Class ClasseNet
Implements IClasseNet
Public Function MeuNome() As String Implements IClasseNet.MeuNome
Return "AGNALDO"
End Function
End Class
OBS.: Crie uma interface no mesmo arquivo para facilitar. Se você quiser, pode separar a interface e a classe.
Volte ao VB6 e veja que o Intellisense começou a funcionar.