Ver Mensaje Individual
  #2  
Antiguo 07-10-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
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
Hola Luis.

El método SaveToFile llama indirectamente a WriteDataPacket, el cual inicia con estas líneas:

Código Delphi [-]
procedure TCustomClientDataSet.WriteDataPacket(Stream: TStream; WriteSize: Boolean;
  Format: TDataPacketFormat = dfBinary);
var
  Size: Integer;
  DataPtr: Pointer;
begin
  if Active then CheckBrowseMode;

Ese CheckBrowseMode se encarga ya sea de guardar (en la memoria del conjunto de datos) o de cancelar el registro que se encuentra en modo de inserción. Es decir, hace un Post o un Cancel, dependiendo de si el registro tiene o no valores que hayan sido asignados a sus campos fuera del evento OnNewRecord. Si el registro ya tiene capturado algo, debería guardarse y luego ser incluido en la exportación; en cambio, si está vacío se cancelará.

Por otra parte, ¿no te animaste a usar AppendData? Así no dependerías de un archivo.

Saludos.

Al González.
Responder Con Cita