El tema es simple, si en VB se usan directamente clases de la librería, se trata de un objeto COM, si el código VB importa funciones y procedimientos, se trata de una "DLL Plana", y se debe importar al igual que en Delphi, haciendo la definición de cada función a utilizar, por ejemplo:
Código:
Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" _
(ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, _
ByVal dwLanguageId As Long, ByVal lpBuffer As String, _
ByVal nSize As Long, Arguments As Long) As Long
En ese ejemplo se está importando la función exportada como "FormatMessageA" de la librería "kernel32".
Cita:
Empezado por CrazySoft
---------------------------
RegSvr32
---------------------------
Se cargó el módulo "C:\WINDOWS\system32\LibraryPOS.dll", pero no se encontró el punto de entrada DllRegisterServer.
Asegúrese de que "C:\WINDOWS\system32\LibraryPOS.dll" es un archivo DLL u OCX válido e inténtelo de nuevo.
---------------------------
Aceptar
---------------------------
|
Quienes hemos tenido la desgracia de utilizar objetos COM, nos ha sucedido mas de una vez que los errores informados no son siempre del todo cierto, por ejemplo recuerdo intentar registrar librerías, que tenían dependencias no satisfechas, y el error siempre era el mismo. Una forma de saber si se trata de un objeto COM, que también sirve para descubrir dependencias insatisfechas, es explorar la librería con herramientas como
Dependency Walker. Si la librería exporta las funciones DllCanUnloadNow, DllGetClassObject, DllRegisterServer y DllUnregisterServer, casi seguro se trata de una DLL COM. Si no es así, el proveedor de la librería te debe entregar la documentación de las funciones y procedimientos exportados, dado que las librerías "planas" no exportan ese tipo de información.
Si la librería fue desarrollada en VB, seguramente dependa del runtime de Visual Basic, y de MSCOMM32 para usar el puerto serie.
Ver:
http://www.clubdelphi.com/foros/showthread.php?t=94393
Cita:
Empezado por Neftali [Germán.Estévez]
Yo también intenté registrarla y da error.
Por lo tanto, tal y como comenta [mamcx], sólo queda hablar con quien la ha diseñado y ver qué están diseñando y cómo.
|
¿La DLL es pública?... ¿de dónde se puede descargar?