Ver Mensaje Individual
  #2  
Antiguo 09-12-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Luego de revisar cuidadosamente el comportamiento que mencionas concluyo que es un bug. Aún cuando no he encontrado referencia alguna en la página del proyecto Zeos, es, desde mi punto de vista un error.

Este error se produce en el método InternalCancel de la clase TZAbstractDataset en la unidad ZAbstractDataset.pas:

Código:
  if (CachedResultSet <> nil) and GetActiveBuffer(RowBuffer)
    and (CurrentRow > 0) then
  begin
    RowNo := Integer(CurrentRows[CurrentRow - 1]);
    CachedResultSet.MoveAbsolute(RowNo);
    RowAccessor.RowBuffer := RowBuffer;
    FetchFromResultSet(CachedResultSet, Fields, RowAccessor);
  end;
Supongo que el error se debe a que al no haberse introducido datos, CurrentRows no contiene el nuevo registro. Aparentemente si añades la condición

and (CurrentRow < CurrentRows.Count)

al condicional, se arregla. Pruébalo y nos cuentas.

// Saludos
Responder Con Cita