Ver Mensaje Individual
  #1  
Antiguo 12-04-2006
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile TClientDataSet.ImmediateUpdates

¡Hola a todos!

¿A poco no sería fabuloso que el componente TClientDataSet tuviese una propiedad llamada ImmediateUpdates, para indicar cuándo queremos que se apliquen los cambios (ApplyUpdates) a la base de datos de manera inmediata?.

Muchos programadores Delphi recurrimos al uso de los eventos AfterPost y AfterDelete del conjunto de datos cliente, para llamar desde ahí al método ApplyUpdates cuando queremos que la base de datos se actualice immediatamente después de guardar o eliminar un registro. Pero cuando tenemos un módulo de datos con treinta o cuarenta componentes TClientDataSet la cosa se torna fea (demasiado trabajo repetitivo por falta de una propiedad como la mencionada).

Hace días que vengo utilizando mi propio componente derivado: TMagiaClientDataSet, al cual le voy agregando características según descubro las carencias de su clase padre (TClientDataSet). Le definí una propiedad Provider que permite enlazarlo con un proveedor que se encuentre en otro módulo de datos de la misma aplicación; también una propiedad StoreActive que evita (si se quiere) que se guarde la propiedad Active en el archivo .dfm.

Ahora he decidido definirle una nueva propiedad llamada ImmediateUpdates. La idea es sencilla: que si esta propiedad tiene un valor de True, se llame de manera automática al método ApplyUpdates después de cada operación de guardado o eliminación de registro. Eso ayudaría a reducir código y trabajo de programación operativa (el burocrático uso de los eventos AfterPost y AfterDelete de cada conjunto de datos).

La principal razón de este mensaje es preguntar a los conocedores del tema, cuál valor debería ser el predeterminado (default) para esta nueva propiedad, ¿True o False?. En términos prácticos, ¿cuál se estaría usando más por los programadores Delphi que emplearan este nuevo componente?, ¿ImmediateUpdates = False?, o ¿ImmediateUpdates = True?, ¿por qué?

Muchas gracias por participar en la encuesta y exponer sus opiniones sobre este tema.

Un abrazo aplicado.

Al González.

Última edición por Al González fecha: 12-04-2006 a las 07:05:04.
Responder Con Cita