DLL de C++ desde VB

06/09/2004 - 01:55 por Jair | Informe spam
Buenas noches.

Tengo una DLL hecha en C++ (concretamente, compilada con
Borland 5.02) que quiero utilizar desde una aplicacion
hecha en VB6. (Aun no me metí con .Net)

En la compilación incluí un archivo ctlProto.def que
detalla las dos funciones que tienen que "verse" desde VB
de esta manera:

LIBRARY CTLPROTO

EXPORTS
CreateDriver
DestroyDriver

En VB declaro las dos funciones como:
Private Declare Function CreateDriver Lib "ctlproto.dll" ()
As Long
Private Declare Sub DestroyDriver Lib "ctlproto.dll" (ByVal
objptr As Long)

El archivo .DLL generado lo copié a %windir%\system32
Al ejecutar obtengo el error 453:
"No se pudo encontrar el punto de entrada de la DLL Create
Driver en ctlProto.dll"

Dentro del fuente de C++ también están definidas las
funciones como:
void * __stdcall CreateDriver() {
return new interfazMpeg;
}

Y aparte de todo esto, en la implementacion también he
definido un
BOOL APIENTRY DllMain( HANDLE /*hModule*/,
etc, etc.

¿Algún alma caritativa tendría la amabilidad de decirme qué
está fallando?

Jaír

PD: Intenté hacer un regsvr32 ctlProto.dll, pero obtengo
como respuesta que no tiene punto de entrada.
 

Leer las respuestas

#1 DellDor
06/09/2004 - 03:48 | Informe spam
¿Registraste la DLL?
Usa: regsrv32 miDll.dll




"Jair" escribió en el mensaje
news:680d01c493a3$c758bb90$
Buenas noches.

Tengo una DLL hecha en C++ (concretamente, compilada con
Borland 5.02) que quiero utilizar desde una aplicacion
hecha en VB6. (Aun no me metí con .Net)

En la compilación incluí un archivo ctlProto.def que
detalla las dos funciones que tienen que "verse" desde VB
de esta manera:

LIBRARY CTLPROTO

EXPORTS
CreateDriver
DestroyDriver

En VB declaro las dos funciones como:
Private Declare Function CreateDriver Lib "ctlproto.dll" ()
As Long
Private Declare Sub DestroyDriver Lib "ctlproto.dll" (ByVal
objptr As Long)

El archivo .DLL generado lo copié a %windir%\system32
Al ejecutar obtengo el error 453:
"No se pudo encontrar el punto de entrada de la DLL Create
Driver en ctlProto.dll"

Dentro del fuente de C++ también están definidas las
funciones como:
void * __stdcall CreateDriver() {
return new interfazMpeg;
}

Y aparte de todo esto, en la implementacion también he
definido un
BOOL APIENTRY DllMain( HANDLE /*hModule*/,
etc, etc.

¿Algún alma caritativa tendría la amabilidad de decirme qué
está fallando?

Jaír

PD: Intenté hacer un regsvr32 ctlProto.dll, pero obtengo
como respuesta que no tiene punto de entrada.

Preguntas similares