Visual Basic - Error llamada funcion de DLL

Life is soft - evento anual de software empresarial
 
Vista:

Error llamada funcion de DLL

Publicado por Luis (2 intervenciones) el 24/04/2006 11:45:47
Buenas:

Tengo una dll que se llama constructme.dll
En mi proyecto de visual basic he declarado lo siguiente:

Private Declare Sub constructall Lib "constructme.dll" (ByVal st As String, ByVal st1 As String)

Al hacer las llamadas a la funcion constructall me da error 53 en tiempo de ejecucion diciendo que no existe el fichero constructme.dll pero si está. He probado a realizar un instalador que registre la dll, pero sigo con el mismo problema.

Alguien sabe que está pasando?

Salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error llamada funcion de DLL

Publicado por Cecilia Colalongo (3116 intervenciones) el 24/04/2006 12:01:04
Si la DLL es de tipo COM (como las generadas por VB) no se accede a sus funciones por Declare sino por CreateObject o agregándola por Proyecto -> Referencias.

Si la DLL se registra es COM no regular. Solo en el caso de las DLL regulares se puede acceder a sus funciones con Declare.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error llamada funcion de DLL

Publicado por Luis (2 intervenciones) el 24/04/2006 12:13:24
hola de nuevo:

Muchas gracias por tu ayuda Cecicila.

He estado buscando información del error y resulta que era porque la dll tiene unas dependencias de otras dll's que no tenía en el directorio. Para saber que dependencias tiene la dll he usado un programa que se llama Dependency Walker que te dice que dependencias tiene un fichero (en mi caso la dll).

Muchas gracias por tu ayuda.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error llamada funcion de DLL

Publicado por Cecilia Colalongo (3116 intervenciones) el 24/04/2006 14:30:26
Ese programa indica solamente las referencias estáticas de la DLL -las que están enlazadas- las dependencias dinámicas (LoadLibrary) no las indica.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar