![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Roman... por favor!!. en fin, que tendré explayarme....
Cuando tienes un query en un datamodule para reusarlo en diversas ocasiones, pronto te das cuenta que si "tal ventana está abierta, puede estar usando dicha consulta, si ahora abres otra ventana que reutiliza el mismo query, podrías tener problemas" (ejem, aplica la ley de murphy ), si tienes una aplicación SDI tienes que pensar el orden de creación de ventanas y en qué orden se van a mostrar para que no se solapen dos ventanas que usan el mismo TQuery. Si tienes una MDI no queda otra que usar otra consulta genérica... y ya son dos TQuerys creadas desde el inicio del datamodule hasta que se destruya (en el mejor de los casos). Ventajas de usar el CreateQry: - Menos tiempo de diseño en configurar propiedades: El IDE es muy bueno y bonito, pero repetir tareas es una lata: asignar database, sql, sessionName , poner el TQuery en un sitio que no moleste ![]() - Algo más eficiente con la RAM: sólo está creado el tiempo estrictamente necesario. Inconvenientes: - Tener que añadir el "uses", eso si que es un coñazo ![]() Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
||||
|
||||
|
Cita:
Lepe + cualquier pedacitos de papel para diagramas y apuntes + CreateQry = rácano y vago. ![]() ![]() ![]() Saludos, |
|
#3
|
||||
|
||||
|
Desde luego, tener varias ventanas disponibles para un mismo proceso, cambia muchas cosas del diseño, entre las cuales está la de crear objetos Query durante la ejecución. Pero no todos los sistemas son así y en muchos casos crear un query en ejecución no es necesario. Por otra parte, la ínfima memoria utilizada para mantener un query genérico en un datamodule, difícilmente puede considerarse una ventaja por sobre la creación por código. Ahora bien, la asignación del sessionname, database que mencionas, ¿no estás hablando en serio al ponerlo como una desventaja, verdad? Usando un CreateQuery ¿evitas esa asignación? Quizá te refieres a que lo hace una sóla vez, pero ignoro porque habría de hacerlo varias veces usando un Query genérico en tiempo de diseño.
En resumen, si utlizas un diseño concurrente, es decir, donde un mismo proceso puede accederse varias veces simultáneas, pues desde luego que es necesario crear objetos en ejecución, pero va mucho más allá de un CreateQuery. Para otro tipo de aplicaciones, sigues sin convencerme. // Saludos |
|
#4
|
|||
|
|||
|
Yo opino exactamente sobre este tema como Roman, me alegro que haya sido él y no yo quien sostuviera este punto de vista, ya que así es más factible que se profundizara en el tema
. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Aplicacion carga muchas fichas en memoria. | zugazua2001 | Varios | 4 | 06-09-2005 17:40:41 |
| cxGrid opcion dejar todo el resultado en memoria?? | sakuragi | OOP | 0 | 26-07-2005 16:38:27 |
| Incluir DLL en Ejecutable | senpiterno | Varios | 1 | 24-01-2005 13:39:03 |
| error al incluir bde en el uses | arc22 | Conexión con bases de datos | 1 | 28-06-2004 09:53:06 |
|