Ayuda con declaracionde función

alex C. L.
01 de Agosto del 2005
El problema es que estoy tratando de aprender como hacer librerias de enlace dinamico (DLL's) con C++ y cargarlas desde visual basic, e hice una con una unica función que devuelve un numero entero pero que no require parametros y funcionó, pero al hacer otra con una función entera que necesita 2 parametros no me funciona.

El codigo de la función en c++ es este:

EXPORT int suma(int valor1, int valor2)
{
int resultado;
resultado = valor1 + valor2;
return resultado;
}
el cual si compila, y la declaracion en visual basic es esta:

Public Declare Function suma lib "fsuma.dll" (val1 as integer, val2 as integer) as Integer

pero al momento de querer ejecutarla me sale un mensaje que dice: "Convecionde llamada a Dll incorrecta".

Si alguie me pudiese ayudar se lo agradeceria mucho.

mvallejos
01 de Agosto del 2005
Pregunto

No será que el Int de C++ equivale al Long de VB?

Una de esas es un conflicto de tipos de datos, salvo eso, no veo otra cosa que pueda estar mal

Saludos

Alex C: L.
01 de Agosto del 2005
pues tambien lo he intentado declarando la funcion así:

Public Declare Function suma lib "fsuma.dll" (val1 as long, val2 as long) as long

y aun así me da el mismo problema.