Holas!!!
Bueno, en realidad lo que puedes crear con Visual Basic (yo uso el 6.0) son 'DLL ActiveX'. Estas son bibliotecas de enlace dinámico que contienen definiciones de clases (no sólo de funciones) a partir de las cuales puedes crear objetos.
Una vez que crees tu DLL ActiveX debes generar el archivo dll (en el menú Archivo, Generar ...).
Cuando VB genera el archivo DLL lo registra automáticamente en el sistema así que queda listo para usarlo desde otra aplicación.
Hay dos maneras de usar tu nueva DLL. Antes que nada debes crear un nuevo proyecto (cómo un EXE estándar), y luego:
I.- Forma número 1 (enlace temprano):
a) Seleccionar el menú "proyecto, referencias"
b) Buscar tu DLL , chequearla y presionar aceptar.
c) Te vas a una ventana de código de tu proyecto (por ejemplo un módulo estandar ".BAS" o a la ventana de código de un formulario) y declaras una variable del tipo de una clase definida dentro de tu DLL. Algo así como:
[ Dim MiVariable As MiNuevaDLL.ClaseMia ]
d) Luego utilizas esa variable como si de una referencia a un objeto se tratase. Por ejemplo:
[ Set MiVariable=New MiNuevaDLL.ClaseMia
MiVariable.HaceAlgo ]
Lo que hicimos anteriormente fue un enlace temprano. Es decir, en el momento de la compilación de el proyecto se especifica el uso de tu DLL (porque tu selecionaste tu DLL en el menú 'Referencias').
La otra forma te la explico si me mandas un Mail porque se me acabó el espacio aquí.
Chao!!! y suerte!!