Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-10-2006
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 22
vicvil Va por buen camino
Unhappy

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.
Responder Con Cita
  #2  
Antiguo 26-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
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:
Empezado por Lepe
Otra cosa que puede ocurrir es que no cambie de carpeta correctamente. Al ser tablas paradox, antes de cambiar la ruta de carpeta, tienes que cerrar el Database y la Session, modificar la ruta y despues reabrirlo. (si no usas esos componentes... deberías)
Cuando cambias el DatabaseName (para redirigir la entrada a otra carpeta), debes cerrar la session, el Database, configurar las nuevas rutas y abrirlos de nuevo.

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.
Responder Con Cita
  #3  
Antiguo 30-10-2006
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 22
vicvil Va por buen camino
Smile

Gracias, eso queria saber.
Voy a hacer las pruebas.
Responder Con Cita
Respuesta



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

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


La franja horaria es GMT +2. Ahora son las 07:13:27.


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
Copyright 1996-2007 Club Delphi