2011/8/5 Michael Van Canneyt <[email protected]>: >> 1) Is there a way to totally disable DataSetChanged events in the dataset? > > No. > > You only disable the treatment of the event while browsing. > > Something like > > If not Floading then > LoadChart; > > Procedure LoadChart; > > begin > Floading:=True; > try > // Browse data and build series. > finally > Floading:=False; > end; > end;
Of course I already do that. The problem is that it does not help -- see the bug report I linked to. I need to disable the events in the dataset itself. Will the patch adding this capability be accepted? >> 2) Alternatively, is there a mechanism to read entire dataset via >> TDataLink without fully buffering it? > > No, for obvious reasons. I think that for the tchart, you should not bother > with the buffer mechanism. Just do a > > First; > While not EOF do > begin > AddPointToSeries; > Next; > end; This is (almost) exactly what I did. You can look yourself at the TADbSource unit. The problem is, it does not work, as I described in the first mail. What are the obvious reasons you refer to? I did not yet study the dataset/datalink implementation fully, so they are not obvious to me. > A chart always sees the dataset as a whole. DB aware controls normally see > only 1 record. > Normally, a grid sees as much records as it currently displays rows. > > But many advanced grids also browse the whole dataset when building rows; > they don't bother with Activebuffer and buffercount. ( Such grids either fail in the same way TDbChartSource does, or use some other mechanism I am not aware of. -- Alexander S. Klenin -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
