FrmMainF.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  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 "AppGlobalF.h"
  18. //#include "FrmMainCommF.h"
  19. #include "VmsPasigProtocolF.h"
  20. //---------------------------------------------------------------------------
  21. typedef enum eEN_SEND_MSG
  22. {
  23. SEND_MSG_NONE = 0x00, /* 없음 */
  24. SEND_MSG_PROCESS = 0x01, /* 프로세스 */
  25. SEND_MSG_EQUIP = 0x02 /* 시설물 */
  26. } EN_SEND_MSG;
  27. //---------------------------------------------------------------------------
  28. class TFrmMain : public TForm
  29. {
  30. __published: // IDE-managed Components
  31. TImageList *ilMenu;
  32. TTimer *tmrAppState;
  33. TImageList *ImageListScope;
  34. TImageList *ImglstTvMvps;
  35. TToolBar *tobMenu;
  36. TToolButton *tbConnect;
  37. TToolButton *tbSeparator1;
  38. TToolButton *tbDisconnect;
  39. TToolButton *tbSeparator2;
  40. TToolButton *tbOptions;
  41. TToolButton *tbSeparator3;
  42. TPanel *plBottom;
  43. TPanel *plStateAction;
  44. TPanel *plStateComm;
  45. TPanel *plStateDb;
  46. TPanel *plTime;
  47. TPanel *Panel1;
  48. TPanel *pnlLog;
  49. TPanel *pnlVms;
  50. TSplitter *Splitter1;
  51. TPanel *Panel16;
  52. TPanel *plThread;
  53. TPanel *plMemory;
  54. TPanel *plGdi;
  55. TPanel *plHandle;
  56. TPanel *Panel2;
  57. TImageList *ImageList1;
  58. /*
  59. * 프로그램에 공통적으로 사용되는 폼이벤트
  60. */
  61. void __fastcall FormCreate(TObject *Sender);
  62. void __fastcall FormShow(TObject *Sender);
  63. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  64. void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  65. void __fastcall tmrAppStateTimer(TObject *Sender);
  66. /*
  67. * 메뉴 핸들러
  68. */
  69. void __fastcall tbConnectClick(TObject *Sender);
  70. void __fastcall tbDisconnectClick(TObject *Sender);
  71. void __fastcall tbOptionsClick(TObject *Sender);
  72. void __fastcall Panel16DblClick(TObject *Sender);
  73. void __fastcall plStateDbDblClick(TObject *Sender);
  74. void __fastcall plStateActionDblClick(TObject *Sender);
  75. private: // User declarations
  76. int m_bAction; /* 동작 상태 */
  77. int m_bComm; /* 통신 상태 */
  78. int m_bDB; /* DB 상태 */
  79. BYTE FSendMsg; /* send message */
  80. bool FServerRun; //서버 기동/정지
  81. DWORD FTickState; //주기체크 틱
  82. char m_oTimer[15]; /* ON/OFF Timer */
  83. char m_tTimer[15]; /* Traffic Timer */
  84. TDateTime m_rTimer; /* timer for receiver */
  85. int FCur5Min;
  86. int FCurHour;
  87. int FCurMin;
  88. int FCurSec;
  89. bool FOneMinCycle;
  90. DWORD m_CommThreadID; /* 통신 데이터 처리 스레드 ID */
  91. unsigned int m_CommHandle; /* 통신 데이터 처리 스레드 핸들 */
  92. bool __fastcall InitApplication(void);
  93. void __fastcall CommClose();
  94. bool __fastcall StartJobThread();
  95. void __fastcall AutoClose();
  96. void __fastcall TerminateApplication(void);
  97. void __fastcall UpdateProcessStatePanel();
  98. void __fastcall CheckCommState();
  99. int __fastcall SendProcessState(void);
  100. void __fastcall SendInitial(void);
  101. void __fastcall SendTerminal(void);
  102. public:
  103. int __fastcall SendDbThreadMessage(UINT Msg, int wParam, int lParam);
  104. int __fastcall SendDbThreadDataMessage(UINT Msg, void *pData, int iLen);
  105. int __fastcall SendVmsThreadMessage(BYTE *AVmsId, IPCUDPMESSAGESTRUCT *ARcvData, BYTE AOpCode, char *AData);
  106. void __fastcall ClientResponse(int Flag, CLIENT_COMMAND *pReq, int error, void *pData);
  107. bool __fastcall CheckBasisTime(char *p, int Cycle, int Basis);
  108. void __fastcall ProvideEvent(int Type, BYTE *pVmsId, BYTE Mode);
  109. void __fastcall CheckProvideSave();
  110. /* 101 Begin */
  111. bool __fastcall CheckResource(size_t MaxMemory, DWORD MaxHandle, DWORD MaxThread, DWORD MaxGdi);
  112. /* 101 End */
  113. IPC_LOG_MESSAGE FLogMsg;
  114. int LogWrite(int ALogKind, char *AFmt, ...);
  115. public: // User declarations
  116. __fastcall TFrmMain(TComponent* Owner);
  117. size_t FMemSize;
  118. void __fastcall LoadOldVmsInfo();
  119. void __fastcall LoadFtpVmsInfo();
  120. void __fastcall LoadFontVmsInfo();
  121. void __fastcall LoadBitmapVmsInfo();
  122. TVmsCtlr* __fastcall FindVms(AnsiString AVmsId);
  123. int __fastcall ChangePosition(TVmsFormObj *AVmsObj);
  124. int __fastcall MakeVmsDownloadForm();
  125. int __fastcall MakeVmsDatabaseForm(TVmsCtlr *AObj);
  126. void __fastcall OnWMUserMessage(TMessage &Msg);
  127. void __fastcall OnUdpDataRecvMessage(TMessage &Msg);
  128. void __fastcall OnVmsThreadMessage(TMessage &Msg);
  129. BEGIN_MESSAGE_MAP
  130. MESSAGE_HANDLER(WM_USER, TMessage, OnWMUserMessage)
  131. MESSAGE_HANDLER(WM_VCOMMDATA_RECV, TMessage, OnUdpDataRecvMessage)
  132. MESSAGE_HANDLER(WM_VMS_THREAD, TMessage, OnVmsThreadMessage)
  133. END_MESSAGE_MAP(TForm)
  134. };
  135. //---------------------------------------------------------------------------
  136. extern PACKAGE TFrmMain *FrmMain;
  137. //---------------------------------------------------------------------------
  138. #endif