mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-17 17:49:28 +02:00
Packager: Show a dialog when Fppkg initialization fails and continue normally. Issue #34792
git-svn-id: trunk@59977 -
This commit is contained in:
parent
ce79247514
commit
2a86e8321c
@ -1147,6 +1147,10 @@ resourcestring
|
||||
lisSaveAllChecked = 'Save All Checked';
|
||||
lisActivate = 'Activate';
|
||||
lisActivateSelected = 'Activate Selected';
|
||||
lisFppkgInitializeFailedCaption = 'Failed to initialize Fppkg';
|
||||
lisFppkgInitializeFailed =
|
||||
'An error occured during the initialization of Fppkg: %s.' + sLineBreak +
|
||||
'Check your Fppkg configuration and restart Lazarus to be able to use Fppkg''s functionality.';
|
||||
|
||||
// hints
|
||||
lisHintSaveAll = 'Save all';
|
||||
|
@ -10,7 +10,10 @@ uses
|
||||
{$IFNDEF VER3_0}
|
||||
pkgFppkg,
|
||||
{$ENDIF VER3_0}
|
||||
fprepos;
|
||||
fprepos,
|
||||
Dialogs,
|
||||
IDEDialogs,
|
||||
LazarusIDEStrConsts;
|
||||
|
||||
type
|
||||
|
||||
@ -54,18 +57,23 @@ var
|
||||
begin
|
||||
FPpkg := TpkgFPpkg.Create(nil);
|
||||
try
|
||||
FPpkg.InitializeGlobalOptions('');
|
||||
FPpkg.InitializeCompilerOptions;
|
||||
try
|
||||
FPpkg.InitializeGlobalOptions('');
|
||||
FPpkg.InitializeCompilerOptions;
|
||||
|
||||
FPpkg.CompilerOptions.CheckCompilerValues;
|
||||
FPpkg.FpmakeCompilerOptions.CheckCompilerValues;
|
||||
FPpkg.CompilerOptions.CheckCompilerValues;
|
||||
FPpkg.FpmakeCompilerOptions.CheckCompilerValues;
|
||||
|
||||
FPpkg.LoadLocalAvailableMirrors;
|
||||
FPpkg.LoadLocalAvailableMirrors;
|
||||
|
||||
FPpkg.ScanPackages;
|
||||
FPpkg.ScanPackages;
|
||||
|
||||
FFPpkg := FPpkg;
|
||||
FPpkg := nil;
|
||||
FFPpkg := FPpkg;
|
||||
FPpkg := nil;
|
||||
except
|
||||
on E: Exception do
|
||||
IDEMessageDialog(lisFppkgInitializeFailed, Format(lisFppkgInitializeFailed, [E.Message]), mtWarning, [mbOK]);
|
||||
end;
|
||||
finally
|
||||
FPpkg.Free;
|
||||
end;
|
||||
@ -128,6 +136,8 @@ var
|
||||
{$ENDIF VER3_0}
|
||||
begin
|
||||
{$IFNDEF VER3_0}
|
||||
if not Assigned(FFPpkg) then
|
||||
Exit;
|
||||
for I := 0 to FFPpkg.RepositoryList.Count -1 do
|
||||
begin
|
||||
Repository := FFPpkg.RepositoryList.Items[I] as TFPRepository;
|
||||
@ -150,6 +160,11 @@ var
|
||||
{$ENDIF VER3_0}
|
||||
begin
|
||||
{$IFNDEF VER3_0}
|
||||
if not Assigned(FFPpkg) then
|
||||
begin
|
||||
Result := '';
|
||||
Exit;
|
||||
end;
|
||||
FppkgPackage := FFPpkg.FindPackage(PackageName, pkgpkInstalled);
|
||||
if Assigned(FppkgPackage) then
|
||||
begin
|
||||
@ -197,6 +212,12 @@ begin
|
||||
{$ENDIF FPC_FULLVERSION>30100}
|
||||
|
||||
{$IF FPC_FULLVERSION>30100}
|
||||
if not Assigned(FFPpkg) then
|
||||
begin
|
||||
Result := [];
|
||||
Exit;
|
||||
end;
|
||||
|
||||
FppkgPackage := FFPpkg.FindPackage(PackageName, pkgpkInstalled);
|
||||
if Assigned(FppkgPackage) then
|
||||
begin
|
||||
@ -230,7 +251,7 @@ end;
|
||||
|
||||
function TFppkgHelper.IsProperyConfigured: Boolean;
|
||||
begin
|
||||
if FIsProperlyConfigured=fpcUnknown then
|
||||
if Assigned(FFPpkg) and (FIsProperlyConfigured=fpcUnknown) then
|
||||
begin
|
||||
FIsProperlyConfigured := fpcYes;
|
||||
if not HasPackage('rtl') then
|
||||
|
Loading…
Reference in New Issue
Block a user