View Issue Details

IDProjectCategoryView StatusLast Update
0003781JEDI VCL00 JVCL Componentspublic2006-07-29 07:58
ReportertbolickAssigned Toobones 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.20 
Target VersionFixed in Version3.30 
Summary0003781: jvDBFindEdit
DescriptionWhen you change the DataField more than once, you lose the Original Filter condition. The problem happens because it assigns a function to the OnFilter Event when you change the DataField, and remembers the old function. Then when you change the DataField a second time, it stores the function that it had installed as the -old- function, and installs a new function. If you then destroy the control, it reverts back to the function it installed first, not the original function (which may be nil). This can cause an access violation if the Filtered is ever turned true again for the dataset.
Additional InformationNot sure what the best fix is. Maybe recognize that it is replacing a function of it's own creation and not overwriting the previoud OldFunction.

Or at least change ResetFilter to reset the FOnFilterRecord to nil. Then ResetFilter could be called before or after the record is picked/found.
TagsNo tags attached.

Activities

obones

2006-06-27 08:11

administrator   ~0009693

Please try with the latest daily:

http://jvcl.sf.net/daily/

I had a look at the code, it's actually when changing the Active state that FOldFilterRecord is assigned. And from what I've read in the source, it will only be stored if it is different from AFilterRecord. Maybe I'm missing the point, but in that case I would appreciate any help, and especially the zipped sources of a sample program showing the problem.

obones

2006-07-29 07:58

administrator   ~0009910

No news, I'm assuming this is fixed.

Issue History

Date Modified Username Field Change
2006-06-25 16:49 tbolick New Issue
2006-06-27 08:11 obones Note Added: 0009693
2006-06-27 08:11 obones Status new => feedback
2006-07-29 07:58 obones Status feedback => resolved
2006-07-29 07:58 obones Fixed in Version => Daily / SVN
2006-07-29 07:58 obones Resolution open => fixed
2006-07-29 07:58 obones Assigned To => obones
2006-07-29 07:58 obones Note Added: 0009910