Visual Basic - Algo falla al pasar paramatros a la DLL

Life is soft - evento anual de software empresarial
 
Vista:

Algo falla al pasar paramatros a la DLL

Publicado por aleph (4 intervenciones) el 30/06/2003 13:22:07
Hola
Desde un programa hecho en visual basic estoy llamando a un Dll hecha en C.
A una de las funciones de la DLL le paso un entero de esta forma:
//
int APIENTRY ActiveSet(int IReg)
{
return IReg;
}
//
Desde el visual basic la tengo declarada com:
//
Declare Function ActiveSet Lib "hlssd45.Dll" (Reg as integer) as integer
//
y despues la llamo desde el formulario de esta forma:
//
result=ActiveSet(1)
//
y lo q me devuelve a result es un numero totalmente distinto al q le mando.del palo -1914 o cosas asi.
No se q es lo q estoy haciendo mal, si alguien me pudiera ayudar se lo agradeceria.
gracias
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:Algo falla al pasar paramatros a la DLL

Publicado por Cecilia Colalongo (3116 intervenciones) el 30/06/2003 14:41:53
Fijate en la exportación de la función desde el programa C:

extern "C"
{
__declspec(dllexport) int __stdcall ActiveSet(int lReg)
}
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:Algo falla al pasar paramatros a la DLL

Publicado por maCo (123 intervenciones) el 30/06/2003 17:41:18
int APIENTRY ActiveSet(int IReg)
{
return IReg;
}

Declare Function ActiveSet Lib "hlssd45.Dll" (byval Reg as long) as long
prueba eso.
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