Buen dia compañeros, estoy empezando a cascarear ó a probar los fibClientDataset de los fibPlus, con el unico objetivo de que en estos componentes tiene una herramienta muy buena de las tantas que tiene, que es la de poder crear campos AGREGADOS, hasta aqui vamos bien, el problema viene cuando quiero tomar el registro actual, este componente lo uso para un detalle, del cual tengo como llave primaria un campo INDICE de tipo entero, donde tiene que tomar un numero diferente en cada registro, he realizado pruebas en los diferentes eventos del fibClientDataset Beforepost, Afterpost, BeforeInsert y AfterInsert, ejemplo:
Código Delphi
[-]
CDSDetalleIndice.AsInteger := CDSDetalle.RecNo;
Y todo el tiempo toma el dato -1, checando en el fuente DB.pas, miro alro raro en las 2 funciones con que se relacionan esta propiedad:
Código Delphi
[-]
DB.pas
....
function TDataSet.GetRecNo: Integer;
begin
Result := -1;
end;
procedure TDataSet.SetRecNo(Value: Integer);
begin
end;
.....
No quiero usar los memoryData para tomar una copia del fibclientdataset y posteriormente regresarme la posición del registro, quiero que el propio fibClientDataset lo haga, espero alguien me pueda orientar ó ayudar con cualquier comentario al respecto....