Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Invocar un DLL hecho en Delphi desde Oracle (https://www.clubdelphi.com/foros/showthread.php?t=30061)

juancho_juancho 08-02-2006 02:47:07

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.


La franja horaria es GMT +2. Ahora son las 08:29:12.

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