Ver Mensaje Individual
  #7  
Antiguo 10-01-2021
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Cuando usas componentes IBX en relación maestro-detalle con CachedUpdates, debes desactivar la propiedad DataSource del detalle al momento de aplicar las actualizaciones.
Eso se debe a que cuando el DataSet aplica actualizaciones, envía un mensaje al DataSource como que el cursor se ha reposicionado, haciendo que se cierre y reabra en la nueva posición. Consecuentemente, se pierde la referencia.

La solución es desactivar el DataSource al momento de aplicar actualizaciones y restaurarlo después. V.gr.:
Código Delphi [-]
   Detalle.DataSource := nil;
   try
     Maestro.ApplyUpdates;
     Detalle.ApplyUpdates;
   finally
     Detalle.DataSource := DataSourceMaster;
   end;

Otros enlaces que se ha tratado este tema:
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-01-2021 a las 22:26:37. Razón: Corregir texto
Responder Con Cita