Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-12-2004
Avatar de Edgar++
Edgar++ Edgar++ is offline
Miembro
 
Registrado: dic 2004
Ubicación: Buenos Aires
Posts: 15
Poder: 0
Edgar++ Va por buen camino
Holas! ayudaria mucho si mostraras el prototipo de la funcion de la que se habla, asi podriamos ayudarte mejor
Responder Con Cita
  #2  
Antiguo 28-12-2004
Avatar de fryguy
fryguy fryguy is offline
Miembro
 
Registrado: mar 2004
Posts: 18
Poder: 0
fryguy Va por buen camino
Limpié las últimas pruebas hechas y el encabezado es el siguiente.

Código:
 
function GenerateMD5(Cadena: string): string;
....
exports
GenerateMD5;
 
begin
end;
Como se puede imaginar por la declaración de la funcion es para poder generar una hash MD5 a partir de una cadena. Ya tengo implementada esta dll con aplicaciónes hechas en Delphi 6 y también la adapté para usar como store procedure extendida en SQL 2K.

Última edición por fryguy fecha: 28-12-2004 a las 13:09:53.
Responder Con Cita
  #3  
Antiguo 28-12-2004
Avatar de Edgar++
Edgar++ Edgar++ is offline
Miembro
 
Registrado: dic 2004
Ubicación: Buenos Aires
Posts: 15
Poder: 0
Edgar++ Va por buen camino
Holas! me imaginé que el parametro era de tipo string, tu problema podria ser que VB y Delphi manejan de foma distinta los tipos string o como se produce su pasaje en la funcion, es decir si es por valor o por referencia, igualmente no podria decirte con exactitud.
Pero te recomendaria que pruebes declarar tu funcion de la siguinete forma:

Código Delphi [-]
function GenerateMD5(Cadena: PAnsiChar): PAnsiChar;
si el problema fuera el que te comenté, esto deberia funcionar... cualquier cosa avisanos!
Responder Con Cita
  #4  
Antiguo 28-12-2004
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 24
Mick Va por buen camino
Solo puntualizar que aunque solo se indique un parametro es necesario especificar sdcall o la convencion que sea necesaria. Ya que la diferencia no solo esta en el orden de los parametros, sino en quien se encarga de eliminar de la pila los parametros, asi que si no se indica la convencion adecuada, el programa dara errores bestias.

Saludos
Responder Con Cita
  #5  
Antiguo 31-12-2004
Avatar de fryguy
fryguy fryguy is offline
Miembro
 
Registrado: mar 2004
Posts: 18
Poder: 0
fryguy Va por buen camino
Seguí los consejos de ustedes y por lo menos la cosa empieza a andar.
Ahora el único problema que tengo es que al usar la dll en VB la aplicación da un error al cerrarla, pero ninguno mientras se usa. Calculo que debe ser un problema de administración de memoria o de la forma en que se llama.
Desde VB la llamada la hago así:
Código:
Declare Function GenerateMD5 Lib "MD5.dll" (Cadena As String) As Long
pero cambie la forma de trabajar con la función; la cadena se pasa por referencia y trae el valor de la cadena, el resultado de la función es la longitud de la hash.
__________________
"Fools are the only folks on earth who can absolutely count on getting what they deserve" S.K.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:33:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi