This commit is contained in:
pierre 2001-09-18 11:33:26 +00:00
parent f959a590fe
commit bad95b49e2

View File

@ -81,6 +81,7 @@ type
ST : PAdvancedStaticText;
KeyST : PColorStaticText;
constructor Init;
destructor Done;virtual;
procedure Update;
end;
@ -514,6 +515,12 @@ begin
Fillchar(Status,SizeOf(Status),#0);
end;
destructor TCompilerStatusDialog.Done;
begin
if @Self=CompilerStatusDialog then
CompilerStatusDialog:=nil;
Inherited Done;
end;
procedure TCompilerStatusDialog.Update;
var
@ -860,6 +867,8 @@ begin
CompilationPhase:=cpCompiling;
New(CompilerStatusDialog, Init);
CompilerStatusDialog^.SetState(sfModal,true);
{ disable window closing }
CompilerStatusDialog^.Flags:=CompilerStatusDialog^.Flags and not wfclose;
Application^.Insert(CompilerStatusDialog);
CompilerStatusDialog^.Update;
{ hook compiler output }
@ -1019,16 +1028,22 @@ begin
else
CompilationPhase:=cpFailed;
{ Show end status }
{ reenable window closing }
CompilerStatusDialog^.Flags:=CompilerStatusDialog^.Flags or wfclose;
CompilerStatusDialog^.Update;
CompilerStatusDialog^.ReDraw;
CompilerStatusDialog^.SetState(sfModal,false);
if ((CompilationPhase in[cpAborted,cpDone,cpFailed]) or (ShowStatusOnError)) and (Mode<>cRun) then
repeat
CompilerStatusDialog^.GetEvent(E);
if IsExitEvent(E)=false then
CompilerStatusDialog^.HandleEvent(E);
until IsExitEvent(E);
Application^.Delete(CompilerStatusDialog);
Dispose(CompilerStatusDialog, Done);
until IsExitEvent(E) or not assigned(CompilerStatusDialog);
if assigned(CompilerStatusDialog) then
begin
Application^.Delete(CompilerStatusDialog);
Dispose(CompilerStatusDialog, Done);
end;
CompilerStatusDialog:=nil;
{ end compilation returns true if the messagewindow should be removed }
if CompilationPhase=cpDone then
@ -1233,7 +1248,10 @@ end;
end.
{
$Log$
Revision 1.3 2001-09-12 09:25:01 pierre
Revision 1.4 2001-09-18 11:33:26 pierre
* fix bug 1604
Revision 1.3 2001/09/12 09:25:01 pierre
* fix bug 1585
Revision 1.2 2001/08/05 02:01:47 peter