I am using TFIBDataset component with Delphi 2010.
Whenever I just open a form on which I have kept TFIBDataset component(s) and close the same form without doing any changes, and if try to compare that .dfm file with same file in code repository, I always find the below code for all the "TFIBStringField" field in all the respective TFIBDataset component(s)
Transliterate = False
I would like to avoid this code coming in .dfm file. How do I stop this, so code comparison becomes easier ?
With Best Regards.
Vishal
I guess, you've updated FIBPlus since last time you opened the form in form designer?
Such behaviour occurs when component properties are added but not given a default
value. Default values are not saved in dfm-files.
I suggest you check those differences not to change your applications behaviour and then commit them to your repository. You won't be bothered with this property in the future. Though, it could happen for other properties as well.
UPDATE: I just recovered your question. I took a look into source code and now have a theory, why value of Transliterate
is reset:
Default value of Transliterate
is True
(see Data.DB.pas). Therefore, value True
won't be saved in dfm file. In constructor of TFIBStringField
(see below) Transliterate
is set to False
.
constructor TFIBStringField.Create(AOwner: TComponent);
begin
inherited;
FDefaultValueEmptyString:=False;
Transliterate:=False;
end;
As the value True
is not saved in dfm, it won't be set, when the content of dfm is assigned to the instance of TFIBStringField
.