Subject | little bug in IBO4.5 with CachedUpdate Enabled |
---|---|
Author | l_gilbert_fr |
Post date | 2005-06-23T10:41:10Z |
Hi,
I found a bug in TIB_NodeListe.AdjCuCounts in IBO 4.5B....
I used IBO 4.3 in my application without problem (since IBO 3.x) and I
try
to use last version of IBO.
But I have a big problem with IBO 4.5(A&B) : when I apply changes in
an
insert form, an exception occurs in TIB_Transaction.ApplyUpdates with
"E_transaction_is_active".
I found that UpdatesPending was always true even after a
TIBODataSet.ApplyUpdates.
After manys search, I found that TIB_NodeListe.AdjCuCounts works
differently
: you have to replace "dec()" by "inc()" in order to have correct
counts.
procedure TIB_NodeList.AdjCuCounts( ANode: PIB_Node; AIncrement:
integer );
begin
if rfEdited in ANode.RowFlags then
Inc( cuEdtCnt, AIncrement )
else
if rfInserted in ANode.RowFlags then
// Dec( cuInsCnt, AIncrement )
Inc( cuInsCnt, AIncrement )
else
if rfDeleted in ANode.RowFlags then
// Dec( cuDelCnt, AIncrement );
Inc( cuDelCnt, AIncrement );
end;
Regards,
lg.
I found a bug in TIB_NodeListe.AdjCuCounts in IBO 4.5B....
I used IBO 4.3 in my application without problem (since IBO 3.x) and I
try
to use last version of IBO.
But I have a big problem with IBO 4.5(A&B) : when I apply changes in
an
insert form, an exception occurs in TIB_Transaction.ApplyUpdates with
"E_transaction_is_active".
I found that UpdatesPending was always true even after a
TIBODataSet.ApplyUpdates.
After manys search, I found that TIB_NodeListe.AdjCuCounts works
differently
: you have to replace "dec()" by "inc()" in order to have correct
counts.
procedure TIB_NodeList.AdjCuCounts( ANode: PIB_Node; AIncrement:
integer );
begin
if rfEdited in ANode.RowFlags then
Inc( cuEdtCnt, AIncrement )
else
if rfInserted in ANode.RowFlags then
// Dec( cuInsCnt, AIncrement )
Inc( cuInsCnt, AIncrement )
else
if rfDeleted in ANode.RowFlags then
// Dec( cuDelCnt, AIncrement );
Inc( cuDelCnt, AIncrement );
end;
Regards,
lg.