FrmSysLogF.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "FrmSysLogF.h"
  5. #include "AppGlobalF.h"
  6. //---------------------------------------------------------------------------
  7. #pragma package(smart_init)
  8. #pragma resource "*.dfm"
  9. TFrmSysLog *FrmSysLog = NULL;
  10. //---------------------------------------------------------------------------
  11. __fastcall TFrmSysLog::TFrmSysLog(TComponent* Owner)
  12. : TForm(Owner)
  13. {
  14. reMsg->Lines->Clear();
  15. }
  16. //---------------------------------------------------------------------------
  17. void __fastcall TFrmSysLog::btnClearClick(TObject *Sender)
  18. {
  19. #if 0
  20. lbLog->Items->Clear();
  21. #else
  22. reMsg->Lines->Clear();
  23. #endif
  24. }
  25. //---------------------------------------------------------------------------
  26. void __fastcall TFrmSysLog::btnCopyClick(TObject *Sender)
  27. {
  28. try
  29. {
  30. reMsg->SelectAll();
  31. reMsg->CopyToClipboard();
  32. }
  33. catch(Exception &e)
  34. {
  35. }
  36. }
  37. //---------------------------------------------------------------------------
  38. void __fastcall TFrmSysLog::OnWMLogDisplayMessage(TMessage &Msg)
  39. {
  40. IPC_LOG_MESSAGE *pLog = (IPC_LOG_MESSAGE *)Msg.WParam;
  41. if (pLog)
  42. {
  43. IPC_LOG_MESSAGE Log;
  44. Log.Kind = pLog->Kind;
  45. Log.Flag = pLog->Flag;
  46. Log.Len = pLog->Len;
  47. Log.Tm = pLog->Tm;
  48. memcpy(Log.Msg, pLog->Msg, sizeof(Log.Msg));
  49. //SAFE_DELETE(pLog);
  50. //ReplyMessage(0);
  51. if (chkLogPause->Checked) return;
  52. LogWrite(&Log);
  53. }
  54. }
  55. //---------------------------------------------------------------------------
  56. void TFrmSysLog::LogWrite(IPC_LOG_MESSAGE *ALog)
  57. {
  58. #if 0
  59. if(lbLog->Items->Count > g_AppCfg.nMaxLogLines) lbLog->Items->Delete(lbLog->Items->Count-1);
  60. lbLog->Items->Insert(0, ALog->Tm.FormatString("hh:nn:ss") + String(ALog->Msg));
  61. #else
  62. try
  63. {
  64. while (reMsg->Lines->Count >= g_AppCfg.nMaxLogLines)
  65. reMsg->Lines->Delete(0);
  66. reMsg->Lines->Add(ALog->Tm.FormatString("hh:nn:ss") + String(ALog->Msg));
  67. }
  68. __finally
  69. {
  70. //Application->ProcessMessages();
  71. }
  72. #endif
  73. }
  74. //---------------------------------------------------------------------------