PDA

Ver la Versión Completa : En donde es mejor?


Johnny Q
11-07-2005, 21:17:13
Un cordial saludo a todos

Me ha surgido la duda de en donde es mejor colocar los componentes table y query cuando se les quiere programar eventos tales como BeforePost, BeforeEdit, etc., si directamente en la forma que los requiere o en el Módulo de datos . Cabe anotar que si se colocan en el módulo de datos y se requiere reutilizar algunos de estos componentes surgirian problemas si ya se han programado eventos relacionados con otras formas.

Todo los componentes no visuales de manipulación de datos se deben colocar el en Modulo de Datos?

De antemano pido disculpas, pues yo se que es cuestión de diseño, pero me gustaría conocer la opinión de ustedes con base en sus experiencias.

delphi.com.ar
11-07-2005, 21:51:12
Aquí tienes una discución anterior al respecto:
http://www.clubdelphi.com/foros/showthread.php?t=5902

Saludos!

ContraVeneno
11-07-2005, 22:29:03
Bastante interesante, no me había dado cuenta que yo tenía la misma duda, hasta que lo mencionaron. :D
Un saludo

yusnerqui
11-07-2005, 22:41:31
Si, también yo me he planteado este dilema muchas veces, y me ha sido de mucha utilidad leer los comentarios de los maestros de estos foros.

Saludos

Johnny Q
11-07-2005, 23:14:41
Con base en la respuesta de delphi.com.ar yo he sacado mis propias conclusiones:

1. Si los componentes tabla, query, etc., requieren ser reutilizados en varias formas y sus eventos son genericos o carecen de estos se deben incluir en un Módulo de datos.

2. Si los componentes tabla, query, etc., deben hacer validaciones u operaciones en sus eventos porque asi lo requiere la forma deben incluirse en la misma forma.

Es mi punto de vista, si alguno de ustedes tiene alguna observación creo que será de gran valor.

saludos....

Lepe
12-07-2005, 10:23:01
. Cabe anotar que si se colocan en el módulo de datos y se requiere reutilizar algunos de estos componentes surgirian problemas si ya se han programado eventos relacionados con otras formas.


En este foro, alguien habló de "cortar por lo sano"


datamodule.tabla1.BeforePost := nil; //quitamos el evento BeforePost
// al fin y al cabo es un puntero.
try

// tratamos la tabla con toda libertad

finally
datamodule.tabla1.Beforepost:= datamodule.Tabla1BeforePost;
// asignamos de nuevo el puntero en el finally. En caso de una excepción
// que todo quede como estaba.
end;


Un saludo

Pablo Carlos
12-07-2005, 18:29:04
Personalmente, las tablas y demás las ubico en un módulo y si tengo tablas con relación maestro detalle las ubico en el form propio a la operación.-
Saludos

Crandel
12-07-2005, 20:47:14
Hola Johnny Q,

yo lo utilizo practicamente de esta forma.

Tambien cuando inserto datos dentro de tablas, lo realizo mediante un TIBSQL en el mismo form.

En definitiva, si las consultas puden ser compartidas, las pongo en el DM, sino en su form.