DLL que funciona pero no en vDevelop

vForum público de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
JA_el_Tempranillo
vRookie
vRookie
Mensajes: 5
Registrado: 04 Jul 2011, 19:53

DLL que funciona pero no en vDevelop

Mensaje por JA_el_Tempranillo » 04 Jul 2011, 20:14

Hola,

He creado la DLL WPC en C, bajo entorno VC 6.0. Por ahora sólo consta de una función. El código lo he probado con main() antes de poner nombre a la función, después he generado la DLL. Está declarada como:

char* __cdecl consulta(unsigned long p)

y así la he declarado en el vDevelop, siguiendo detenidamente la ayuda: '7 Librería de funciones (dll)' de velneo.

La ataco con:

Pido el NumeroDato con Pedir dato numérico y, si se acepta:

Set -> Dato, "" + »WPC.consulta( 'NumeroDato' )

y luego genero

Mensaje -> "El dato consultado número " + 'NumeroDato' + " es:\n\n" + 'Dato'

y me muestra bien 'NumeroDato', pero siempre me muestra 0 para 'Dato' en lugar de la string esperada.

Reconozco ser novato en programación de C y Velneo, pero llevo más de un mes documentándome y no logro solucionar esto ¿Podrían ayudarme en esto? ¿qué paso por alto?.

He visto que hay genios en el foro que ayudan desinteresadamente, y esto es algo que ha influido en iniciarme en velneo, si bien v7 me queda hoy por hoy grande, no lo descarto en un futuro.

Gracias a todos de antemano.
Saludos,
JA_el_Tempranillo

Avatar de Usuario
aztecmexico
vCool
vCool
Mensajes: 233
Registrado: 22 Feb 2006, 23:09
Ubicación: Guadalajara, Jalisco, México

Mensaje por aztecmexico » 04 Jul 2011, 23:23

Pues en mi corta experiencia no encuentro nada mal, si pudieras subir un extracto de tu mapa con la dll declarada sería más sencillo que lo revisaramos y te echemos la mano.
Saludos

Desde Guadalajara, Jalisco, México

Blog: http://NeoAztecmexico.blogspot.com
Skype: aztecmexico

JA_el_Tempranillo
vRookie
vRookie
Mensajes: 5
Registrado: 04 Jul 2011, 19:53

Mensaje por JA_el_Tempranillo » 05 Jul 2011, 07:48

Aztecmexico, gracias por tu ofrecimiento,

Ayer pensé hacer un cambio, este es que en lugar de retornar un char *, que recibiese el char * de la variable que debiese contener el dato, pensando que el problema podría estar en el retorno de la función.

Sigue igual, es más, puse en la función llamada que generase un fichero con el dato a consultar y... no se produce el fichero. (Si se genera si ejecuto en Visual C), lo que indica que no hay comunicación de retorno, pero tampoco hay recepción en la llamada, es decir que no se ejecuta la función.

He de decir que la DLL es generada con la opción de proyecto: Win32 Dinamic-Link Library para plataforma Win32.

Adjunto un .rar con el mapa y la librería que pongo en el directorio del mapa.
Adjuntos
Mapa_y_Dll.rar
(23.96 KiB) Descargado 73 veces
Saludos,
JA_el_Tempranillo

Responder