Ver Mensaje Individual
  #1  
Antiguo 08-02-2006
juancho_juancho juancho_juancho is offline
Registrado
 
Registrado: ago 2005
Posts: 3
Reputación: 0
juancho_juancho Va por buen camino
Invocar un DLL hecho en Delphi desde Oracle

Hola amigos del foro,
Tengo un problema cuando trato de llamar un dll de Delphi con Developer 6i de oracle El Dll tiene cinco funciones de las cuales cuatro retornan un tipo de datos personalizado ( un array de 0 a 20 OF CHAR ) y una un valor numérico (Int). Para hacer la llamada desde Oracle uso el package ORA_FFI y el parametro receptor para string es ora_ffi.c_char_ptr y para números es ora_ffi.c_long.
Al probar la comunicación con el Dll y hacer la llamada a la función numérica no tengo problemas, pero cuando lo hago con las funciones que retornan string ( el personalizado ) entonces se aborta la aplicación de Oracle no sabiendo realmente cual es el problema.
Comento que la función de Delphi hace un return de este mi tipo de dato personalizado y Oracle lo recibe con un puntero ORA_FFI.C_CHAR_PTC (puntero).
Probe cambiar el puntero ora_ffi.c_char_ptr por ORA_FFI.C_CHAR (char vil y silvestre) pero me da el mismo resultado.
Platicando con un amigo me indica que es por los estandares Win32 que no hay compatibilidad de ORacle al invocar la librería de Delphi y que tendría que buscar un "caller" para arreglar el asunto.

Quisiera preguntarles que opinan al respecto ?

Gracias por su ayuda.

Juancho_Juancho.

Última edición por juancho_juancho fecha: 08-02-2006 a las 17:48:52.
Responder Con Cita