This forum is temporaily read-only. All existing discussions remain available for reference. For new questions, bug reports or support requests, please contact us at mail@lmdsupport.com.
Issue storing font with TLMDStorXMLVault
I have installed the lastest (28 Dec '21) LMDTools in Delphi 11 and when using TLMDStorXMLVault to store a labels font settings I get an error at runtime...
Error reading TFont.Name:Invalid property value. Code for this is below.
PPanel.Background := XMLStorage.ReadColor('ButtonBackground', 'Colour', clSilver);
PPanel.PCaption[1].Text := XMLStorage.ReadString('LabelOne', 'Caption', 'TRCODE' );
PPanel.PCaption[1].Top := XMLStorage.ReadInteger('LabelOne', 'Top', 1);
PPanel.PCaption[1].Left := XMLStorage.ReadInteger('LabelOne', 'Left', 1);
PPanel.PCaption[1].Font := XMLStorage.ReadFont('LabelOne', 'Font', TFont.Create);
PPanel.PCaption[1].Align := XMLStorage.ReadInteger('LabelOne', 'Alignment', 1);
PPanel.PCaption[1].AutoSize := XMLStorage.ReadBool('LabelOne', 'AutoSize', True);
PPanel.PCaption[1].Visible := XMLStorage.ReadBool('LabelOne', 'Visible', True);
This worked OK with my earlier Delphi 10.4.2 and LMDtools ( not sure version but likely 2019 )
The XML file its trying to load is as below... full file attached
<LabelOne>
<Caption Type="String">BRNAME</Caption>
<Caption Type="string">TRCODE</Caption>
<Top Type="Integer">1</Top>
<Left Type="Integer">1</Left>
<Font Type="Font">
<Charset Type="Identifier">DEFAULT_CHARSET</Charset>
<Color Type="Identifier">clRed</Color>
<Height Type="Integer">-15</Height>
<Name Type="String">Tahoma</Name>
<Size Type="Integer">11</Size>
<Style Type="Set">fsBold</Style>
</Font>
<Alignment Type="Integer">2</Alignment>
<AutoSize Type="Identifier">-1</AutoSize>
<Visible Type="Identifier">-1</Visible>
</LabelOne>
I changed the code to just store the file e.g. XMLStorage.WriteFont('LabelTwo', 'Font', PPanel.PCaption[2].Font);
to see whether there was a difference and the only change was ..
<Name Type="String">Tahoma</Name> - this is the old file that doesn't load
<Name Type="string">Tahoma</Name> - this is how it saved the file with D11,LMD 2021.7
so I edited the original text file to lowercase 's' and it loads without error.
However, ideally I would like the uppercase 'S' version to load OK so I dont have to change the files at my customer sites.
Phillip

Comments