fix #33, piping a pre or post build process leads to AV

This commit is contained in:
Basile Burg 2015-08-28 17:57:42 +02:00
parent ebebf27243
commit abdddf29c0
1 changed files with 7 additions and 5 deletions

View File

@ -744,24 +744,26 @@ end;
procedure TCENativeProject.runProcOutput(sender: TObject);
var
proc: TCEProcess;
lst: TStringList;
str: string;
msgs: ICEMessagesDisplay;
begin
proc := TCEProcess(sender);
lst := TStringList.Create;
msgs := getMessageDisplay;
try
proc.getFullLines(lst);
if (sender is TCEProcess) then
(sender as TCEProcess).getFullLines(lst)
else
processOutputToStrings(TProcess(sender), lst);
for str in lst do
msgs.message(str, Self, amcProj, amkBub);
finally
lst.Free;
end;
//
if not proc.Active then
getprocInputHandler.removeProcess(proc);
if not TProcess(sender).Active then
getprocInputHandler.removeProcess(TProcess(sender));
end;
procedure TCENativeProject.compProcOutput(proc: TProcess);