Problem in using TBuffDataSet lazarus / 31-LCL ---------------------------------------------------------------------- kjteng · 2014-01-26 06:50 I thought TBuffdataset works like TRXmemoData since the methods look similar. However,  I keep getting index out of bound error and the fields count property is always zero even though there are 3 entries in the  fieldDef property. Please help. ---------------------------------------------------------------------- tatamata · 2014-01-26 07:25 Hi. In TBfuDataset, fields are not automatically created from FieldDefs, you have to create it by executing CreateDataset method, in code. Also, you have to set MaxIndexes count property to some reasonable Integer value. However, instead of using TBufDataset, you might try zmsql package (current version attached), (see: http://wiki.lazarus.freepascal.org/ZMSQL) which contains ZMQueryDataset component that encapsulates TBufDataset with all it's properties,  in user-friendly way, adding some useful methods and properties that saves you from coding details. For instance, you can create dynamic or persistent fields in design- time, by  properties DynamicFieldsCreated, PersistentFieldsCreated, MemoryDatasetOpened. Also, you can directly open a .csv table by TableName and TableLoaded properties, setting "database" folder in ZMConnection property/component. You can even execute simple SQL queries on CSV tables by properties SQL, Parameters, QueryExecuted. And, even more, you can set master/detail filtration between zmquerydatasets by setting properties MasterDataSource, MasterFields, MasterDetailFiltration, as well as master/slave referential integrity between datasets (referential insert, update, delete) by setting ZMReferentialKey property/component.