procedure WriteLog(Msg: String; MsgStatus: Boolean = False);
begin
  if MsgStatus then
    StatusBarSimpleText( Msg);
  if FileLog <> '' then
    WriteLogFile(FileLog, Msg);

end; {End WriteLog}

procedure WriteInfo(Msg: String; MsgStatus: Boolean = False);
begin
  if MsgStatus then
    StatusBarSimpleText( Msg);
  if FirstInfo and (FileIn <> '') then
    WriteLogFile(FileInfo, 'Файл: ' + FileIn);
  WriteLogFile(FileInfo, Msg);
  FirstInfo := False;
  WriteLogFile(FileLog, Msg);

end; {End WriteInfo}

procedure ShowInfo(Msg: String);
begin
  StatusBarSimpleText( Msg);

end; {End ShowInfo}


{~ExceptionLog
  логирование сообщения xMsg и исключения (LastException)
  с трансляцией исключения дальше: raise(xExceptionMessage).}
procedure ExceptionLog( xMsg: string);
begin
  vLogException := TRUE;
  RaiseLog( xMsg, LastException.Message);
end;

{~RaiseLog
 логирование сообщения xMsg с созданием исключения: raise(xExceptionMessage).}
procedure RaiseLog( xMsg, xExceptionMessage: string);
begin
  WriteInfo( 'СБОЙ: ' + xMsg + ' (' + xExceptionMessage + ')', FALSE);

//  ShowMessage( xMsg +#13#10 + xExceptionMessage);
  raise( xMsg +#13#10 + xExceptionMessage);
end;

procedure ExceptionProc( xMsg: string = '');
begin
  ExceptionLog( 'Сбой ' + xMsg);
end;


(*
{~ExceptionLog
  логирование сообщения xMsg и исключения (LastException)
  с трансляцией исключения дальше: raise(xExceptionMessage).}
procedure ExceptionLog( xMsg: string);
begin
//  vLogException := TRUE;
  RaiseLog( xMsg, LastException.Message);
end;

{~RaiseLog
 логирование сообщения xMsg с созданием исключения: raise(xExceptionMessage).}
procedure RaiseLog( xMsg, xExceptionMessage: string);
begin
  WriteInfo( '* EXCEPTION *');
  WriteInfo( xMsg +#13#10 + xExceptionMessage, FALSE);
//  ShowMessage( xMsg +#13#10 + xExceptionMessage);
  raise( xMsg +#13#10 + xExceptionMessage);
end;
*)

begin
end.
