RxFPC:TRxIniPropStorage - set CacheUpdates:=true for IniFile

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5829 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2017-03-31 07:05:16 +00:00
parent 7797575c94
commit b13c6aff73
4 changed files with 131 additions and 29 deletions

View File

@ -10,9 +10,6 @@
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
@ -41,6 +38,7 @@
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
</Unit1>

View File

@ -3,7 +3,7 @@
<ProjectSession>
<Version Value="10"/>
<BuildModes Active="Default"/>
<Units Count="2">
<Units Count="5">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
@ -17,73 +17,165 @@
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<TopLine Value="21"/>
<TopLine Value="15"/>
<CursorPos X="73" Y="55"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<UnitName Value="RxIniPropStorage"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="61"/>
<CursorPos X="44" Y="92"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit2>
<Unit3>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<UnitName Value="IniPropStorage"/>
<EditorIndex Value="2"/>
<TopLine Value="22"/>
<CursorPos X="14" Y="39"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="/home/install/source/fpcsrc/packages/fcl-base/src/inifiles.pp"/>
<UnitName Value="IniFiles"/>
<EditorIndex Value="3"/>
<TopLine Value="214"/>
<CursorPos X="26" Y="235"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit4>
</Units>
<JumpHistory Count="14" HistoryIndex="13">
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="16" Column="22"/>
<Caret Line="47" Column="5" TopLine="12"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="17" Column="22"/>
<Caret Line="46" Column="5" TopLine="12"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="18" Column="22"/>
<Caret Line="47" Column="5" TopLine="12"/>
</Position3>
<Position4>
<Filename Value="unit1.pas"/>
<Caret Line="19" Column="22"/>
<Caret Line="48" Column="5" TopLine="12"/>
</Position4>
<Position5>
<Filename Value="unit1.pas"/>
<Caret Line="20" Column="22"/>
<Caret Line="49" Column="5" TopLine="12"/>
</Position5>
<Position6>
<Filename Value="unit1.pas"/>
<Caret Line="40" Column="5" TopLine="6"/>
<Caret Line="50" Column="5" TopLine="13"/>
</Position6>
<Position7>
<Filename Value="unit1.pas"/>
<Caret Line="45" Column="5" TopLine="12"/>
<Caret Line="55" Column="73" TopLine="15"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="46" Column="5" TopLine="12"/>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="49" Column="28" TopLine="28"/>
</Position8>
<Position9>
<Filename Value="unit1.pas"/>
<Caret Line="47" Column="5" TopLine="12"/>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="65" Column="3" TopLine="48"/>
</Position9>
<Position10>
<Filename Value="unit1.pas"/>
<Caret Line="46" Column="5" TopLine="12"/>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="49" Column="14" TopLine="31"/>
</Position10>
<Position11>
<Filename Value="unit1.pas"/>
<Caret Line="47" Column="5" TopLine="12"/>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="53" Column="3" TopLine="35"/>
</Position11>
<Position12>
<Filename Value="unit1.pas"/>
<Caret Line="48" Column="5" TopLine="12"/>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="41" Column="49" TopLine="16"/>
</Position12>
<Position13>
<Filename Value="unit1.pas"/>
<Caret Line="49" Column="5" TopLine="12"/>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="86" Column="3" TopLine="84"/>
</Position13>
<Position14>
<Filename Value="unit1.pas"/>
<Caret Line="50" Column="5" TopLine="13"/>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="41" Column="15" TopLine="23"/>
</Position14>
<Position15>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="86" Column="3" TopLine="84"/>
</Position15>
<Position16>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="42" Column="15" TopLine="23"/>
</Position16>
<Position17>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="103" Column="3" TopLine="101"/>
</Position17>
<Position18>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="41" Column="15" TopLine="24"/>
</Position18>
<Position19>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="86" Column="3" TopLine="84"/>
</Position19>
<Position20>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="51" Column="15" TopLine="31"/>
</Position20>
<Position21>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="41" Column="27" TopLine="23"/>
</Position21>
<Position22>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="86" Column="22" TopLine="55"/>
</Position22>
<Position23>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="91" Column="13" TopLine="57"/>
</Position23>
<Position24>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="39" Column="14" TopLine="22"/>
</Position24>
<Position25>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="92" Column="28" TopLine="58"/>
</Position25>
<Position26>
<Filename Value="../../../../lcl/inipropstorage.pas"/>
<Caret Line="39" Column="14" TopLine="22"/>
</Position26>
<Position27>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="92" Column="40" TopLine="61"/>
</Position27>
<Position28>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="58" Column="59" TopLine="40"/>
</Position28>
<Position29>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="92" TopLine="61"/>
</Position29>
<Position30>
<Filename Value="../../rxcontrols/rxinipropstorage.pas"/>
<Caret Line="93" TopLine="61"/>
</Position30>
</JumpHistory>
</ProjectSession>
</CONFIG>

View File

@ -48,13 +48,14 @@ type
protected
function GetIniFileName: string; override;
public
procedure StorageNeeded(ReadOnly: Boolean); override;
{ Public declarations }
published
property SeparateFiles:boolean read FSeparateFiles write FSeparateFiles;
end;
implementation
uses rxapputils, LazUTF8, FileUtil, LazFileUtils;
uses rxapputils, LazUTF8, FileUtil, LazFileUtils, IniFiles;
{ TRxIniPropStorage }
@ -80,4 +81,15 @@ begin
Result:=UTF8ToSys(Result);
end;
procedure TRxIniPropStorage.StorageNeeded(ReadOnly: Boolean);
var
F: Boolean;
begin
F:=Assigned(IniFile);
inherited StorageNeeded(ReadOnly);
if Assigned(IniFile) and (not F) then
if IniFile is TIniFile then
TIniFile(IniFile).CacheUpdates:=true;
end;
end.