View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003461||JEDI VCL||00 JVCL Components||public||2006-01-21 11:53||2008-02-21 03:26|
|Target Version||Fixed in Version|
|Summary||0003461: Bug en MemoryData when in CalcFields events field = Dataset.RecNo|
|Description||Put a JvMemorydata and add some fields, one of them calculated, now put in the OnCalcFields event the following:|
calcfield.AsInteger := Dataset.RecNo;
run and add 2 rows, all is normal, when you want to add the 3 record, rare effect;
if in the OnCalcFields event you add other instructions, it behaves normally;
it ocurrs also with standard DBGrid..
attached a zip file
|Tags||No tags attached.|
memDataBug.zip (1,798 bytes)
||Clearly, it's because (or related) to the call to UpdateCursorPos in GetRecNo, but I can't figure out why it's so bad, especially when FRecords.Count has the correct value (3)|
Remco, U-C-P is under most suspicion (because other components avoid using it)
As well, it is not caught red-handed yet.
And this is true, since internals of TDataSet is one of most undocumented and twisting parts of VCL.
Sure, FRecords.Count is correct. The mess is with Buffers.
try quick look across help for TDataset.BuffersCount, .ActiveRecord, .CurrentRecord
Then do watch for ActiveRecord and CurrentRecord
Somewhere after .SetCurrentRecord there is a loop mixing .GetPriorRecord and .GetNextRecord
This methods work on some subtle nuances, never documented and perhaps erroneously implemented.
Somewhere within this loop ActiveRecord got crazy and runs up to the BuffersCount.
||This issue is too old, many changes have been done in between. Should this still be applicable, please create a new issue after having tested using the latest JVCL|
|2006-01-21 11:53||moore||New Issue|
|2006-01-21 11:54||moore||File Added: memDataBug.zip|
|2006-04-04 09:07||obones||Note Added: 0008909|
|2006-04-04 09:07||obones||Status||new => confirmed|
|2006-10-30 12:37||Arioch||Relationship added||related to 0003973|
|2006-10-30 12:47||Arioch||Note Added: 0010397|
|2008-02-21 03:26||obones||Status||confirmed => closed|
|2008-02-21 03:26||obones||Note Added: 0014223|
|2008-02-21 03:26||obones||Resolution||open => suspended|