Hola amigos, estoy intentando hacer mis primeros pininos usando TClienteDataSet y TDataSetProvider, logro mostrar los datos de la tabla en un TDBgrid y abro otra forma para la captura de los datos, escribi estos dos procedimiento:
Código Delphi
[-]procedure TDtmDatos.pDSPClientesBeforeApplyUpdates(Sender: TObject;
var OwnerData: OleVariant);
begin
RegActual:= pCDSClientes.GetBookmark;
end;
y
Código Delphi
[-]procedure TDtmDatos.pDSPClientesAfterUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind);
begin
pFIBTransaccion.CommitRetaining;
pCDSClientes.Close;
pCDSClientes.Open;
If Nuevo
Then pCDSClientes.Last
Else pCDSClientes.GotoBookmark(RegActual);
end;
el motivo de estos dos procedimientos es que como los cambios los realizo en una forma diferente cuando cierro esta los cambios no se ven reflegados en el TDBgrid, por eso cierro y abro pCDSClientes, pero al hacer esto el TDBGrid deja de apuntar al registro con el que estoy trabajando para poder ir nuevamente a el uso la variable "
RegActual" pero en la linea "
Else pCDSClientes.GotoBookmark(RegActual);" me da error de que el registro no existe, ya depuere el código y en ningun lado se esta perdiendo el valor de
RegActual para efectos del ejemplo desde que lo optube hasta que lo use
RegActual = $1e00ae0.
alguien tiene una idea de que puede estar pasando y alguna mejor forma de lograr que el DBGrid muestre los cambio, Gracias