diff --git a/developer/src/kmconvert/Keyman.Developer.System.ImportWindowsKeyboard.pas b/developer/src/kmconvert/Keyman.Developer.System.ImportWindowsKeyboard.pas index f5384903d9..3643f8c70c 100644 --- a/developer/src/kmconvert/Keyman.Developer.System.ImportWindowsKeyboard.pas +++ b/developer/src/kmconvert/Keyman.Developer.System.ImportWindowsKeyboard.pas @@ -251,6 +251,8 @@ begin except on E:EKeyboardProjectTemplate do Exit(Fail('Unable to generate template: '+E.Message)); + on E:EFOpenError do + Exit(Fail('Unable to create project; template files may be missing: '+E.Message)); end; FProjectFilename := FTemplate.ProjectFilename; diff --git a/developer/src/kmconvert/Keyman.Developer.System.KeyboardProjectTemplate.pas b/developer/src/kmconvert/Keyman.Developer.System.KeyboardProjectTemplate.pas index dc274d082d..b1f5a3e406 100644 --- a/developer/src/kmconvert/Keyman.Developer.System.KeyboardProjectTemplate.pas +++ b/developer/src/kmconvert/Keyman.Developer.System.KeyboardProjectTemplate.pas @@ -86,7 +86,8 @@ end; procedure TKeyboardProjectTemplate.Generate; begin if not ForceDirectories(BasePath + ID + '\' + SFolder_Source) then - raise EKeyboardProjectTemplate.Create('Could not create destination path '+BasePath+ID); + raise EKeyboardProjectTemplate.Create('Could not create destination path '''+BasePath+ID+'''. '+ + 'Please check the path and try again. The error was: '+SysErrorMessage(GetLastError)); WriteDocumentation; diff --git a/developer/src/kmconvert/Keyman.Developer.System.KeymanConvertMain.pas b/developer/src/kmconvert/Keyman.Developer.System.KeymanConvertMain.pas index f65bfb0683..b6eae962d2 100644 --- a/developer/src/kmconvert/Keyman.Developer.System.KeymanConvertMain.pas +++ b/developer/src/kmconvert/Keyman.Developer.System.KeymanConvertMain.pas @@ -7,6 +7,7 @@ procedure Run; implementation uses + System.Classes, System.SysUtils, Winapi.ActiveX, @@ -100,7 +101,12 @@ begin except on E:EKeyboardProjectTemplate do begin - writeln(E.Message); + writeln('ERROR: Unable to create project: '+E.Message); + Exit(False); + end; + on E:EFOpenError do + begin + writeln('ERROR: Unable to create project; template files may be missing: '+E.Message); Exit(False); end; end; @@ -138,7 +144,12 @@ begin except on E:ELDMLKeyboardProjectTemplate do begin - writeln(E.Message); + writeln('ERROR: Unable to create project: '+E.Message); + Exit(False); + end; + on E:EFOpenError do + begin + writeln('ERROR: Unable to create project; template files may be missing: '+E.Message); Exit(False); end; end; @@ -176,7 +187,12 @@ begin except on E:EModelProjectTemplate do begin - writeln(E.Message); + writeln('ERROR: Unable to create project: '+E.Message); + Exit(False); + end; + on E:EFOpenError do + begin + writeln('ERROR: Unable to create project; template files may be missing: '+E.Message); Exit(False); end; end; diff --git a/developer/src/kmconvert/Keyman.Developer.System.LdmlKeyboardProjectTemplate.pas b/developer/src/kmconvert/Keyman.Developer.System.LdmlKeyboardProjectTemplate.pas index 6f5bfc7041..4b396dbc8e 100644 --- a/developer/src/kmconvert/Keyman.Developer.System.LdmlKeyboardProjectTemplate.pas +++ b/developer/src/kmconvert/Keyman.Developer.System.LdmlKeyboardProjectTemplate.pas @@ -56,7 +56,8 @@ end; procedure TLDMLKeyboardProjectTemplate.Generate; begin if not ForceDirectories(BasePath + ID + '\' + SFolder_Source) then - raise ELDMLKeyboardProjectTemplate.Create('Could not create destination path '+BasePath+ID); + raise ELDMLKeyboardProjectTemplate.Create('Could not create destination path '''+BasePath+ID+'''. '+ + 'Please check the path and try again. The error was: '+SysErrorMessage(GetLastError)); WriteDocumentation; diff --git a/developer/src/kmconvert/Keyman.Developer.System.ModelProjectTemplate.pas b/developer/src/kmconvert/Keyman.Developer.System.ModelProjectTemplate.pas index 42ac45d082..cceee29475 100644 --- a/developer/src/kmconvert/Keyman.Developer.System.ModelProjectTemplate.pas +++ b/developer/src/kmconvert/Keyman.Developer.System.ModelProjectTemplate.pas @@ -70,7 +70,8 @@ end; procedure TModelProjectTemplate.Generate; begin if not ForceDirectories(BasePath + ID + '\' + SFolder_Source) then - raise EModelProjectTemplate.Create('Could not create destination path '+BasePath+ID); + raise EModelProjectTemplate.Create('Could not create destination path '''+BasePath+ID+'''. '+ + 'Please check the path and try again. The error was: '+SysErrorMessage(GetLastError)); WriteDocumentation; diff --git a/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewLDMLKeyboardProjectParameters.pas b/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewLDMLKeyboardProjectParameters.pas index 3868b6281b..d51ecc695b 100644 --- a/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewLDMLKeyboardProjectParameters.pas +++ b/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewLDMLKeyboardProjectParameters.pas @@ -154,11 +154,16 @@ begin try pt.Generate; except - on E:EFOpenError do + on E:ELDMLKeyboardProjectTemplate do begin ShowMessage('Unable to create project: '+E.Message); Exit(False); end; + on E:EFOpenError do + begin + ShowMessage('Unable to create project; template files may be missing: '+E.Message); + Exit(False); + end; end; frmKeymanDeveloper.OpenProject(pt.ProjectFilename); diff --git a/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewModelProjectParameters.pas b/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewModelProjectParameters.pas index 6f94062480..7640d253fa 100644 --- a/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewModelProjectParameters.pas +++ b/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewModelProjectParameters.pas @@ -166,11 +166,16 @@ begin try pt.Generate; except - on E:EFOpenError do + on E:EModelProjectTemplate do begin ShowMessage('Unable to create project: '+E.Message); Exit(False); end; + on E:EFOpenError do + begin + ShowMessage('Unable to create project; template files may be missing: '+E.Message); + Exit(False); + end; end; frmKeymanDeveloper.OpenProject(pt.ProjectFilename); diff --git a/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewProjectParameters.pas b/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewProjectParameters.pas index bac2ffd9a9..d13dfebbaa 100644 --- a/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewProjectParameters.pas +++ b/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmNewProjectParameters.pas @@ -167,11 +167,16 @@ begin try pt.Generate; except - on E:EFOpenError do + on E:EKeyboardProjectTemplate do begin ShowMessage('Unable to create project: '+E.Message); Exit(False); end; + on E:EFOpenError do + begin + ShowMessage('Unable to create project; template files may be missing: '+E.Message); + Exit(False); + end; end; frmKeymanDeveloper.OpenProject(pt.ProjectFilename);