FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con módulo web y conexiones ADO dentro de una DLL
Buenas compañeros foreros, les cuento mi problema
La Situación: hice una DLL que hace un reporte según unos parámetros que se le proporcionan, la librería exporta una función que recibe como parámetro único un string (lo recibo en PChar) y devuelvo otro (de la misma forma PChar). Esta DLL funciona bien en aplicaciones de escritorio, pero en un módulo para Apache que necesito hacer me devuelve un error EOleSysError. El Código La DLL
Una de las aplicaciones "standalone" que funcionan bien
El módulo que no funciona El Proyecto
El Web Module
Esto lo agregué en la configuración de Apache (httpd.conf) Código:
LoadModule rDyn_module modules/mod_rDyn.so <Location /rDyn> SetHandler mod_rdyn-handler </Location> Googleando me encontré que varios tienen el mismo problema (DLL que se conectan a BD mediante ADO y que funcionan en un exe pero no en un módulo web), pero ninguno proporciona una solución. Utilizo conexiones ADO y Firebird ODBC Driver v2.0 Windows 7 (64 bits) - Delphi 2010 - Firebird 2.5 (x64) Perdón por el tocho-post pero quería ser bien específico. |
#2
|
|||
|
|||
Lamento no poder ayudarte.
Hola, para mi particularmente, es siempre preferible que sobre a que falte, así que no pidas perdon por haber escrito todo eso, por otro lado lamento no poder ayudarte, espero que alguien te de una mano y si llegas a encontrar la solución la postee.
|
#3
|
|||
|
|||
Bueno he estado probando muchas cosas, revisando el código, leyendo bastante literatura, etc .... y llegué a que la parte problemática es la linea que se señala (TAlmacén es un módulo de datos común y corriente donde creo las conexiones ADO):
... yo la explicación que le encontré fue la siguiente (y me gustaría que alguien con mas experiencia me corrija si me equivoco): - Una DLL no funciona de la misma forma dentro de un "EXE" que dentro de otra "DLL" (al fin y al cabo un módulo web es una DLL). En el primer caso el espacio de direcciones de la DLL es incluido dentro del espacio de direcciones del ejecutable, en el segundo caso cada DLL tiene un espacio de direcciones individual. Por lo anterior es que se me ocurre que se produce un error al intentar accesar a un posición de memoria de la otra DLL, por lo que pude ver la posible solución es implementar archivos proyectados en memoria ... pero por ahí me quedé. Visto que tengo un cierto apuro en solucionar esto (porque tengo que entregárselo a un cliente) opté por incluir el código (las unidades de la DLL) dentro del módulo web ... pero para mi sorpresa ahora me da este otro error ... cuando me saltó esto decidí tomar distancia por un día o dos para despejar la cabeza |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema TSqlconnection, Datasets y conexiones persistentes | Edgtho | Conexión con bases de datos | 0 | 22-04-2009 16:45:24 |
Problema al remplazar una substring dentro de una string | gulder | Varios | 2 | 24-11-2008 19:51:24 |
Problema con Insert dentro de Evento BeforePost | Jvilomar | Conexión con bases de datos | 2 | 21-11-2007 16:31:12 |
Problema con el manejo de las ventanas dentro de la aplicacion | maxibaco | Varios | 2 | 28-11-2006 20:01:09 |
Problema con eventos dentro de un SP | Choclito | Firebird e Interbase | 2 | 08-02-2006 15:30:36 |
|