You've already forked lazarus-ccr
0.1.10.0: Exception handling for Load + Save (minesadorada)
Error check for duplicate lpk entries (minesadorada) git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5408 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -24,7 +24,7 @@
|
||||
<UseVersionInfo Value="True"/>
|
||||
<AutoIncrementBuild Value="True"/>
|
||||
<MinorVersionNr Value="1"/>
|
||||
<RevisionNr Value="9"/>
|
||||
<RevisionNr Value="10"/>
|
||||
<StringTable Comments="Buld configured for Win Linux and Darwin" FileDescription="An editor for OnlinePackageManager update JSON files" InternalName="jsoneditor" LegalCopyright="(c)2016 usernames lainz and minesadorada @ forum.lazarus.freepascal.org" LegalTrademarks="GPL code" OriginalFilename="jsoneditor" ProductName="Lazarus and Freepascal" ProductVersion="1.x and 3.x"/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="5">
|
||||
|
@ -20,11 +20,12 @@
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<TopLine Value="790"/>
|
||||
<CursorPos X="23" Y="811"/>
|
||||
<TopLine Value="13"/>
|
||||
<CursorPos X="62" Y="28"/>
|
||||
<UsageCount Value="56"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 Y="465" ID="1"/>
|
||||
<Bookmarks Count="2">
|
||||
<Item0 Y="468" ID="1"/>
|
||||
<Item1 X="8" Y="737"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
@ -103,9 +104,6 @@
|
||||
<TopLine Value="10428"/>
|
||||
<CursorPos X="29" Y="10452"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="86" Y="1718"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
@ -119,124 +117,124 @@
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="748" Column="47" TopLine="747"/>
|
||||
<Filename Value="C:\NewPascalDarwin\lazarus\lcl\grids.pas"/>
|
||||
<Caret Line="1395" Column="21" TopLine="1371"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="C:\NewPascalDarwin\lazarus\lcl\grids.pas"/>
|
||||
<Caret Line="456" Column="14" TopLine="456"/>
|
||||
<Caret Line="745" Column="27" TopLine="709"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="C:\NewPascalDarwin\lazarus\lcl\grids.pas"/>
|
||||
<Caret Line="1721" Column="21" TopLine="1694"/>
|
||||
<Caret Line="114" Column="3" TopLine="76"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="C:\NewPascalDarwin\lazarus\lcl\grids.pas"/>
|
||||
<Caret Line="1395" Column="21" TopLine="1371"/>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="155" TopLine="134"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="C:\NewPascalDarwin\lazarus\lcl\grids.pas"/>
|
||||
<Caret Line="745" Column="27" TopLine="709"/>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="308" Column="3" TopLine="306"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="C:\NewPascalDarwin\lazarus\lcl\grids.pas"/>
|
||||
<Caret Line="114" Column="3" TopLine="76"/>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="796" Column="19" TopLine="766"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="155" TopLine="134"/>
|
||||
<Caret Line="46" Column="40" TopLine="31"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="308" Column="3" TopLine="306"/>
|
||||
<Filename Value="C:\NewPascalDarwin\fpc\rtl\objpas\classes\classesh.inc"/>
|
||||
<Caret Line="498" Column="37" TopLine="465"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="796" Column="19" TopLine="766"/>
|
||||
<Caret Line="450" Column="47" TopLine="426"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="46" Column="40" TopLine="31"/>
|
||||
<Caret Line="298" Column="27" TopLine="285"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="C:\NewPascalDarwin\fpc\rtl\objpas\classes\classesh.inc"/>
|
||||
<Caret Line="498" Column="37" TopLine="465"/>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="313" Column="46" TopLine="290"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="450" Column="47" TopLine="426"/>
|
||||
<Caret Line="316" Column="65" TopLine="293"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="298" Column="27" TopLine="285"/>
|
||||
<Caret Line="313" Column="46" TopLine="289"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="313" Column="46" TopLine="290"/>
|
||||
<Caret Line="320" TopLine="296"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="316" Column="65" TopLine="293"/>
|
||||
<Caret Line="310" Column="29" TopLine="295"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="313" Column="46" TopLine="289"/>
|
||||
<Caret Line="672" Column="56" TopLine="635"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="320" TopLine="296"/>
|
||||
<Caret Line="810" Column="41" TopLine="787"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="310" Column="29" TopLine="295"/>
|
||||
<Caret Line="812" Column="36" TopLine="786"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="672" Column="56" TopLine="635"/>
|
||||
<Caret Line="813" Column="5" TopLine="790"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="810" Column="41" TopLine="787"/>
|
||||
<Caret Line="811" TopLine="787"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="812" Column="36" TopLine="786"/>
|
||||
<Caret Line="814" Column="5" TopLine="787"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="813" Column="5" TopLine="790"/>
|
||||
<Caret Line="812" Column="24" TopLine="784"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="811" TopLine="787"/>
|
||||
<Caret Line="811" Column="11" TopLine="788"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="814" Column="5" TopLine="787"/>
|
||||
<Caret Line="813" Column="6" TopLine="789"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="812" Column="24" TopLine="784"/>
|
||||
<Caret Line="489" TopLine="481"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="811" Column="11" TopLine="788"/>
|
||||
<Caret Line="819" TopLine="789"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="813" Column="6" TopLine="789"/>
|
||||
<Caret Line="813" TopLine="789"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="489" TopLine="481"/>
|
||||
<Caret Line="79" Column="26" TopLine="50"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="819" TopLine="789"/>
|
||||
<Caret Line="812" TopLine="795"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="umain.pas"/>
|
||||
<Caret Line="813" TopLine="789"/>
|
||||
<Caret Line="735" Column="33" TopLine="720"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
</ProjectSession>
|
||||
|
Binary file not shown.
@ -22,9 +22,11 @@ unit umain;
|
||||
Version History
|
||||
===============
|
||||
0.0.0.0 Original code by lainz
|
||||
..to 0.1.6.0 Refactored and updated by minesadorada
|
||||
0.1.7.0: Bugfix by lainz
|
||||
0.1.8.0: Config file change by minesadorada
|
||||
..to 0.1.6.0 Refactored and updated (minesadorada)
|
||||
0.1.7.0: Bugfix (lainz)
|
||||
0.1.8.0: Config file change (minesadorada)
|
||||
0.1.10.0: Exception handling for Load + Save (minesadorada)
|
||||
Error check for duplicate lpk entries (minesadorada)
|
||||
}
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
@ -76,7 +78,7 @@ type
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
procedure LoadFromFile(AFileName: string);
|
||||
function LoadFromFile(AFileName: string):Boolean;
|
||||
function SaveToFile(AFileName: string): boolean;
|
||||
published
|
||||
property Package: TPackageData read FPackage write FPackage;
|
||||
@ -461,8 +463,9 @@ begin
|
||||
sJSONFilePath := FileOpen1.Dialog.Filename;
|
||||
CFG.WriteString('Options', 'LastLoadedJSONPath', ExtractFileDir(sJSONFilePath));
|
||||
JSONPackage := TPackage.Create;
|
||||
JSONPackage.LoadFromFile(FileOpen1.Dialog.FileName);
|
||||
|
||||
TRY
|
||||
if JSONPackage.LoadFromFile(FileOpen1.Dialog.FileName) then
|
||||
begin
|
||||
editName.Text := JSONPackage.Package.Name;
|
||||
editDownloadURL.Text := JSONPackage.Package.DownloadURL;
|
||||
cbForceUpdate.Checked := JSONPackage.Package.ForceUpdate;
|
||||
@ -473,9 +476,14 @@ begin
|
||||
stringPackageFiles.Cells[0, i + 1] := JSONPackage.PackageFiles.Items[i].Name;
|
||||
stringPackageFiles.Cells[1, i + 1] := JSONPackage.PackageFiles.Items[i].Version;
|
||||
end;
|
||||
|
||||
end
|
||||
else
|
||||
ShowMessageFmt('There was a problem loading "%s" - is it corrupted or in the wrong format?',
|
||||
[ExtractFilename(FileOpen1.Dialog.FileName)]);
|
||||
finally
|
||||
JSONPackage.Free;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.mnu_fileNewClick(Sender: TObject);
|
||||
@ -724,7 +732,9 @@ begin
|
||||
end
|
||||
else
|
||||
if JSONPackage.SaveToFile(sJSONFilePath) then
|
||||
ShowMessage(sJSONFilePath + rsSavedOK);
|
||||
ShowMessage(sJSONFilePath + rsSavedOK)
|
||||
else
|
||||
ShowMessage(rsSaveUnsucces);
|
||||
bDirty := False;
|
||||
finally
|
||||
JSONPackage.Free;
|
||||
@ -795,11 +805,12 @@ begin
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TPackage.LoadFromFile(AFileName: string);
|
||||
Function TPackage.LoadFromFile(AFileName: string):Boolean;
|
||||
var
|
||||
DeStreamer: TJSONDeStreamer;
|
||||
s: TStringList;
|
||||
begin
|
||||
Result:=TRUE;
|
||||
s := TStringList.Create;
|
||||
TRY
|
||||
s.LoadFromFile(AFileName);
|
||||
@ -807,8 +818,7 @@ begin
|
||||
TRY
|
||||
DeStreamer.JSONToObject(s.Text, Self);
|
||||
EXCEPT
|
||||
On E:Exception do
|
||||
ShowMessage('The json file appears to be corrupted or in the wrong format');
|
||||
On E:Exception do Result:=FALSE;
|
||||
end;
|
||||
Finally
|
||||
DeStreamer.Free;
|
||||
@ -831,7 +841,7 @@ begin
|
||||
s.SaveToFile(AFileName);
|
||||
Result := True;
|
||||
except
|
||||
ShowMessage(rsSaveUnsucces);
|
||||
|
||||
end;
|
||||
finally
|
||||
Streamer.Free;
|
||||
|
Reference in New Issue
Block a user