[Lazarus] TBufDataset issues

Michael Van Canneyt michael at freepascal.org
Thu Apr 30 10:45:35 CEST 2020



On Thu, 30 Apr 2020, Michael Van Canneyt via lazarus wrote:

>
>
> On Thu, 23 Apr 2020, Werner Pamler via lazarus wrote:
>
>> Playing with TBufDataset I came across some issues:
>>
>> (1) Creating fields at designtime: In order to create fields at 
>> designtime to a new TBufDataset component I add FieldDefs by clicking 
>> the '...' next to "FieldDefs" in the Object Inspector and fill in the 
>> required data. But there is no way to really *create* the dataset. At 
>> runtime I would call BufDataset.CreateDataset - but this is not 
>> accessible at designtime. In Delphi's ClientDataset there is an item 
>> "Create dataset" in the context menu of the dataset. This seems to be 
>> missing here.
>
> I will add one;

Added in rev. 63093.

I added several menus:
- Create dataset (what you need)
- Save data to file (allows to save data in memory to file)
- Load data from file (allows to load data from a file into memory) 
- Copy data from another dataset (what it says on the tin :-))

>
>>
>> OK - I can create the dataset at runtime at least. This leads to the 
>> second problem:
>>
>> (2) Persistent fields: Wanting to create persistent fields at design 
>> time I do this: Make sure that the BufDataset is active. Right-click on 
>> the component to add the Fields Editor. I see the fields created. But 
>> how do I make them persistent? In Delphi I select both fields and click 
>> the '+'. Here the field list which opens is empty and the "Create" 
>> button is disabled. In other datasets everything is working correctly 
>> here, but TBufDataset seems to be incomplete.
>
>> Michael, is this your component? Could you have a look? I can write a 
>> bug report, if necessary.
>
> I will have a look.

Works fine here, be sure to set correct properties for the fields you add.
If any of the fields has incorrectly configured properties, it won't work.

But I did this when the dataset was not yet active. Maybe that is your
problem.

Michael.


More information about the lazarus mailing list