[Lazarus] Can I delete a property from a collectionitem
marc at dommelstein.nl
Thu Oct 13 11:00:46 CEST 2022
On 12-10-2022 18:21, Michael Van Canneyt via lazarus wrote:
> On Wed, 12 Oct 2022, nibbikfrans via lazarus wrote:
>> I have a collection stored in a file. One property of each
>> collectionitem is a value of what seeems to be a set but is not. That
>> property is no longer needed. Is there a way to delete that property?
>> I suppose I can do that by creating a new collectionitem type without
>> that property and migrate the data. But then a have a different
>> collection which meens a have to make lots of changes.
> Yet that is the only correct way.
> If you can make a descendent, you can
> override the property and simply discard the value when it is set in the
What you also can do is remove the property and override the
DefineProperties method of your CollectionItem object and add a dummy
reader for your propertyname. This way you will be able to read old data
and in new data it won't get written.
I didn't test this on FPC, but I've done it this way several times in
>> If deleting a property isn't possible, how can I delete the value of
>> that property?
> In the file, in the instance of the collectionitem or where ?
>> And an extra question is: how can I test whether the property has a
>> value or not?
>> The possible value is defined as followes:
>> TTest = (test1, test2, test3);
>> TTestValues = set ot TTest;
> The property has a set as value ?
> If the set is empty, then the property has no value ? Unless empty value
> is also a value.
More information about the lazarus