![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Cita:
Al no poner nada entre el except... end, estas diciendo que si ocurre alguna excepción, simplemente se la coma con patatas y siga adelante. Por eso no muestra ningún mensaje de error. Debes hacer lo siguiente: Ver si da fallos en ejecución y despues controlar los fallos que dé.
Por cierto, sigo diciendo que un Log del estilo que comenté es necesario para este tipo de cosas. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
|||
|
|||
|
Hice lo que me indicaste pero me aparece un error mas bien generico entiendo. Me envia el mensaje EDBEngineError para mi esto no me dice mucho, debe haber alguna forma de ver el error exacto. ¿Como se puede hacer?
|
|
#3
|
||||
|
||||
|
Quizás el mensaje de la propia excepción te ayude algo más:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#4
|
|||
|
|||
|
Hice la prueba.
Me arrojó el mensaje de error, pero este mensaje me dejó mas consternado aun, ya que dice lo siguiente: "Too many open databases Alias" ¿Por que si yo estoy cerrando los querys? Incluso hice la prueba cerrando y liberandolos y aun asi me envía el error. Yo creo que no libera la memoria como debería hacerlo. |
|
#5
|
||||
|
||||
|
Lo que nadie te ha dicho de paradox, es que al situar un TTable, TQuery, etc en una ventana, delphi crea implicitamente un objeto TSession y un objeto TDatabase, y los usa para gestionar todos esos objetos de acceso a datos que has puesto.
Para una aplicación simple, (de escritorio), de un solo usuario, accediendo a tablas que forman parte "de una sola base de datos", no hace falta echar cuenta a esos dos individuos, pero al realizar tareas avanzadas como tú estas haciendo, sí hay que tenerlo en cuenta. Según dice son "Alias abiertos" y creo que viene por aquí el problemilla: Cita:
Lo que está ocurriendo, es que al asignar el DatabaseName, crea "una conexión nueva" a la carpeta, dichas conexiones se van acumulando en memoria hasta que se excede el límite permitido. 2 Soluciones: - Usa Database.Connected := false cada vez que vas a cambiar de carpeta. - Añade un TDabase y un TSession y configuralos a tu gusto. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#6
|
|||
|
|||
|
Gracias, eso queria saber.
Voy a hacer las pruebas. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Liberar memoria | Perrero80 | Varios | 15 | 06-04-2017 04:07:10 |
| Liberar dll de memoria | lgarcia | Internet | 1 | 11-08-2005 00:26:29 |
| Liberar Memoria | JoseQ | Varios | 6 | 16-07-2004 18:49:21 |
| Liberar memoria de un QR. | mlara | Impresión | 1 | 21-02-2004 18:31:16 |
| Liberar Memoria | susje | Varios | 3 | 31-07-2003 23:18:18 |
|