![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
El tema de la unidad DateUtils es muy particular. Si te fijas, toda la unidad se basa en FormatDatetime, EncodeDateTime y DecodeDatetime, el resto.... y mira la cantidad de funciones que hay, se llaman entre sí y de forma escalonada.
Sólo quieres usar una función, pero si de forma escalonada se ejecutan 10 funciones, obviamente, las 10 funciones irá en el ejecutable final. Sobre crear tus propias bibliotecas, bueno, es inevitable, pero más vale que sigas un esquema como la vcl, en mi caso: lpDateUtils (LP = Lepes) lpForms lpClasses lpconstantes (saltolinea, saltoCarro, etc) lpTipos (excepciones personalizadas, etc). Los casos que explicas no veo necesario crear unidades, pero, por ejemplo, todos tenemos una función llamada: function Createqry(sql:string):TQuery o ¿no? ![]() Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
||||
|
||||
|
[Paréntesis]
No lo puedo creer. Sé que nunca has mencionado tu nombre real en estos foros amigo Lepe, pero, no me vas a decir que incluso en el prefijo de tus funciones y librerías usas Lepe. ![]() [/Paréntesis] // Saludos |
|
#3
|
||||
|
||||
|
Si no me equivoco, el compilador de Delphi tiene una opcion en el proceso de compilacion de eliminacion de codigo muerto, es decir, que elimina todos los objetos y funciones no utilizados, asi se reduce el tamaño del ejecutable. Esa opcion en los compiladores de C de Borland esta OFF por defecto, mira si la encuentras en Delphi y como esta...
|
|
#4
|
||||
|
||||
|
No puedes afirmar eso, has estado ausente mucho tiempo
![]() Cita:
CreateQry la uso cuando necesito temporalmente ejecutar una sentencia SQL, pero no quiero tener un TQuery en el Datamodule o en el TForm sólo para una llamada, al final acaba estorbando más que ayudando, por eso uso la rutina que crea, configura la consulta y opcionalmente la ejecuta:
Muchas veces necesitas una consulta de forma puntual, sólo para actualizar un registro, etc. Tener que poner un TQuery en la ventana (o datamodule), configurarlo, ponerle nombre, y por último llamarlo desde código es "perder el tiempo", "ExecSql" son 7 letras más el SQL y listo .Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#5
|
||||
|
||||
|
Cita:
![]() Pero a ver, para que no se diga que nada más ando en este hilo fuera de tema les voy a dar mi opinión: no estoy de acuerdo. El ejemplo de mayenes (quien me debe una cerveza desde hace tiempo) no me convence de la necesidad de CreateQuery. Esas dos Queries que construye, ¿por qué no están en un DataModule? Si estuvieran ahí en primera instancia, ahorraría todavía más código. Ahora, para una consulta puntual, también se puede tener una Query genérica para eso. Porque, si sólo se tiene una consulta puntual en todo el código, haber definido una función es más trabajo del necesario, así que asumo que se trata de varias consultas puntuales, pero, como digo, para ello se puede usar un query genérico. Al final de cuentas, creo, el punto está en, ¿por qué queremos construir componentes Query por código? ![]() pd: lo digo un poco por molestar, pero es que no me han convencido. ![]() // Saludos |
|
#6
|
||||
|
||||
|
Creo que se han desviado del tema central.
|
|
#7
|
|||
|
|||
|
Algo raro en estos foros...
![]() Saludos |
|
#8
|
||||
|
||||
|
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. |
|
#9
|
|||
|
|||
|
Cita:
xDDDNo me acordaba ![]() Y sobre mi ejemplo, en realidad fue algo que escribí así de bote pronto... y bueno... para mi si es práctico, por que solo creas el objeto al momento de usarlo, ejecutas el query, obtienes el resultado y lo liberas de la memoria... Ahora, yo mayormente uso Interbase/Firebird y los componentes IBX, y estoy tienen un componente llamado TIBSQL el cual es más ligero en memoria, y para queries donde solo necesito obtener un valor rapidamente son mejores. Cita:
|
|
#10
|
|||
|
|||
|
Cita:
mmmmmmmmmmmmmmm, no, no todos ![]() ¿Qué ventaja me da tener esa función en una librería a tener un componente TQuery? , digo, igual voy a configurarlos, ya sea con parámetros o desde código.¿ahorro de código?, igual voy a definir variables tipo TQuery o TDataSet para recibir esa función, no le veo la utilidad real ![]() |
|
#11
|
|||
|
|||
|
Hola...
Cita:
No es lo mismo hacer:
A tener algo como:
Ves la diferencia? Me ahorré declarar 2 variables y re-escribir bastante código... ![]() Saludos... |
![]() |
|
|
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 |
|