diff --git a/src/ce_main.pas b/src/ce_main.pas index 91c5491d..6773da9c 100644 --- a/src/ce_main.pas +++ b/src/ce_main.pas @@ -990,8 +990,11 @@ begin // fname := fRunProc.Executable; if getprocInputHandler.process = fRunProc then + begin getMessageDisplay.message('the execution of a runnable module ' + 'has been implicitly aborted', fDoc, amcEdit, amkWarn); + getprocInputHandler.addProcess(nil); + end; killProcess(fRunProc); if fileExists(fname) then if ExtractFilePath(fname) = GetTempDir(false) then diff --git a/src/ce_procinput.pas b/src/ce_procinput.pas index 07bdffe7..781c6480 100644 --- a/src/ce_procinput.pas +++ b/src/ce_procinput.pas @@ -82,7 +82,8 @@ begin // TODO-cfeature: process list, imply that each TCESynMemo must have its own runnable TProcess // currently they share the CEMainForm.fRunProc variable. if fProc <> nil then - fProc.Terminate(1); + if fProc.Running then + fProc.Terminate(0); txtExeName.Caption := 'no process'; fProc := nil;