FrmMainF.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. //---------------------------------------------------------------------------
  2. #ifndef FrmMainFH
  3. #define FrmMainFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include <ComCtrls.hpp>
  10. #include <ExtCtrls.hpp>
  11. #include <Graphics.hpp>
  12. #include <Grids.hpp>
  13. #include <ImgList.hpp>
  14. #include <ToolWin.hpp>
  15. #include <psapi.h>
  16. #include <tlhelp32.h>
  17. #include "IdAntiFreeze.hpp"
  18. #include "IdAntiFreezeBase.hpp"
  19. #include "IdBaseComponent.hpp"
  20. #include "IdComponent.hpp"
  21. #include "IdUDPBase.hpp"
  22. #include "IdUDPServer.hpp"
  23. //---------------------------------------------------------------------------
  24. #include "AppGlobalF.h"
  25. #include "CDSCtlrF.h"
  26. #include "DbmThreadF.h"
  27. #include "DbmReadThreadF.h"
  28. //---------------------------------------------------------------------------
  29. //---------------------------------------------------------------------------
  30. class TVmsCommMain : public TForm
  31. {
  32. __published: // IDE-managed Components
  33. TTimer *tmrAppState;
  34. TToolBar *tobMenu;
  35. TToolButton *tbConnect;
  36. TToolButton *tbSeparator1;
  37. TToolButton *tbDisconnect;
  38. TToolButton *tbSeparator2;
  39. TToolButton *tbOptions;
  40. TToolButton *tbSeparator3;
  41. TPanel *plBottom;
  42. TPanel *plStateAction;
  43. TPanel *plStateComm;
  44. TPanel *plStateDb;
  45. TPanel *plTime;
  46. TPanel *Panel1;
  47. TPanel *pnlLog;
  48. TPanel *pnlController;
  49. TSplitter *Splitter1;
  50. TPanel *Panel16;
  51. TPanel *plThread;
  52. TPanel *plMemory;
  53. TPanel *plGdi;
  54. TPanel *plHandle;
  55. TPanel *Panel2;
  56. TImageList *ImageList1;
  57. TIdUDPServer *IdUDPCenterServer;
  58. TPanel *plStateLog;
  59. TPanel *plStateDbm;
  60. TPanel *plStateJob;
  61. TTimer *tmrProvide;
  62. TTimer *tmrRunProvide;
  63. TPanel *plRemain;
  64. TTimer *tmrDbCheck;
  65. TPanel *plStateDbmRead;
  66. TPanel *pnlTraf;
  67. void __fastcall FormCreate(TObject *Sender);
  68. void __fastcall FormShow(TObject *Sender);
  69. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  70. void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  71. void __fastcall tmrAppStateTimer(TObject *Sender);
  72. void __fastcall tbConnectClick(TObject *Sender);
  73. void __fastcall tbDisconnectClick(TObject *Sender);
  74. void __fastcall tbOptionsClick(TObject *Sender);
  75. void __fastcall Panel16DblClick(TObject *Sender);
  76. void __fastcall plStateDbDblClick(TObject *Sender);
  77. void __fastcall plStateActionDblClick(TObject *Sender);
  78. void __fastcall plTimeDblClick(TObject *Sender);
  79. void __fastcall tmrProvideTimer(TObject *Sender);
  80. void __fastcall plStateCommDblClick(TObject *Sender);
  81. void __fastcall tmrRunProvideTimer(TObject *Sender);
  82. void __fastcall plRemainDblClick(TObject *Sender);
  83. void __fastcall tmrDbCheckTimer(TObject *Sender);
  84. private: // User declarations
  85. bool FServerRun; //서버 기동/정지
  86. bool FFirstRunning;
  87. char m_tTimer[15]; /* Traffic Timer */
  88. char m_szOnOffTimer[15]; /* ON/OFF Timer */
  89. char m_szTraffTimer[15]; /* Traffic Timer */
  90. TDateTime m_dtProgBoot;
  91. TDateTime m_dtChkDbAlive; // 데이터베이스 연결 체크 타이머
  92. TDateTime m_dtChkVmsJob; // VMS 작업 및 주기작업
  93. TDateTime m_dtProvider; // 정보제공 타이머
  94. TDateTime m_dtTrafProvider; // 통신으로 수신한 교통정보 타이머
  95. TDateTime m_dtTimeOut;
  96. TDateTime m_dtChkEveh;
  97. int FUnitSttsHsMin;
  98. int FCtlrSttsHsMin;
  99. int FCtlrSttsReqMin;
  100. int FTimeSyncDay;
  101. int FTimeSyncMin;
  102. int FCur1MinComm;
  103. int FCur1MinRun;
  104. int FCur5Min;
  105. bool FOneMinCycle;
  106. int FCurrDay;
  107. int FCurrHour;
  108. int FCurrMin;
  109. int FCurrSec;
  110. int FCurrTimeSec;
  111. void __fastcall OnAppException(TObject *Sender, Exception *exception);
  112. bool __fastcall InitApplication();
  113. void __fastcall CommClose();
  114. void __fastcall AbnormalTerminate(char* AMsg);
  115. bool __fastcall JobThreadStart();
  116. void __fastcall JobThreadCheck();
  117. void __fastcall JobThreadStop();
  118. void __fastcall AutoClose();
  119. void __fastcall TerminateApplication();
  120. void __fastcall UpdateProcessStatePanel();
  121. void __fastcall CheckCommState();
  122. void __fastcall SendVmsTrafficProvide(int AType);
  123. void __fastcall SendTerminal();
  124. int __fastcall SendVmsThreadMessage(BYTE *AVmsId, IPC_MSG_DATA *ARcvData, BYTE AOpCode, char *AData);
  125. bool __fastcall CheckBasisTime(char *p, int Cycle, int Basis);
  126. void __fastcall SendTimeSync();
  127. void __fastcall CheckProvideTimeout();
  128. bool __fastcall CheckResource(size_t MaxMemory, DWORD MaxHandle, DWORD MaxThread, DWORD MaxGdi);
  129. void __fastcall ResetProviderTimer();
  130. public: // User declarations
  131. __fastcall TVmsCommMain(TComponent* Owner);
  132. size_t FMemSize;
  133. void __fastcall OnWMUserMessage(TMessage &Msg);
  134. void __fastcall OnWMDbThreadMessage(TMessage &Msg);
  135. void __fastcall OnUdpDataRecvMessage(TMessage &Msg);
  136. void __fastcall OnTcpThreadMessage(TMessage &Msg);
  137. void __fastcall OnPanelRefreshMessage(TMessage &Msg);
  138. BEGIN_MESSAGE_MAP
  139. MESSAGE_HANDLER(WM_USER, TMessage, OnWMUserMessage)
  140. MESSAGE_HANDLER(WM_DB_THREAD, TMessage, OnWMDbThreadMessage)
  141. MESSAGE_HANDLER(WM_CENTERCOMM_DATA_RECV, TMessage, OnUdpDataRecvMessage)
  142. MESSAGE_HANDLER(WM_TCP_THREAD, TMessage, OnTcpThreadMessage)
  143. MESSAGE_HANDLER(WM_PANEL_REFRESH, TMessage, OnPanelRefreshMessage)
  144. END_MESSAGE_MAP(TForm)
  145. };
  146. //---------------------------------------------------------------------------
  147. extern PACKAGE TVmsCommMain *VmsCommMain;
  148. //---------------------------------------------------------------------------
  149. #endif