Subject Re: [IBO] Problem in IsEmpty method
Author Luiz Alves

> What if you change this method to this:
> function TIB_BDataset.GetIsEmpty: boolean;
> begin
> Result := not Prepared or
> not IsSelectSQL or
> ( BufferRowCount = 0 );
> end;

I tested it now and the problem was solved.

> Now for some blah blah to tell why...
> The problem I think is because the code in there before was based on an
> assumption that there would always be a record at the RowNum = 1 position.
> With the new capability of IBO 4 to virtualized a dataset as it does, it
> possible to have a valid dataset from RowNum = 2 through 10, for example.
> this case, it surely isn't empty but my test here wasn't comprehensive
> enough. This wasn't discovered because in most cases there is a RowNum = 1
> but you found a combination which utilized the new features and revealed
> this area I had not enhanced to support the new capabilities.

Yes, it´s very difficult test for all possibilities that users can to do.

In IBO4, I noted BufferRowNum can assume negative values. What do you think
to pass this parameters with the same sign IBO3.X used so as don't break
existent app, mainly those using OnGetCellProps?
Or you think to be better make the modifications on user app to support
this new characteristic?

Many thanks,