VMSCommServer.cpp 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. //---------------------------------------------------------------------------
  2. #define COMM_EXCEPTION_MESSAGE 0
  3. //---------------------------------------------------------------------------
  4. #include "AppGlobalF.h"
  5. #include <tchar.h>
  6. //---------------------------------------------------------------------------
  7. USEFORM("FRM\FrmVmsInfoF.cpp", FrmVmsInfo);
  8. USEFORM("FRM\FrmSysLogF.cpp", FrmSysLog);
  9. USEFORM("FRM\FrmOptionF.cpp", FrmOption);
  10. USEFORM("FrmMainF.cpp", FrmMain);
  11. USEFORM("FRM\FrmVmsLogF.cpp", FrmVmsLog);
  12. USEFORM("DM\DMCOMMF.cpp", DMCOMM); /* TDataModule: File Type */
  13. //---------------------------------------------------------------------------
  14. WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
  15. {
  16. DateSeparator = '-';
  17. TimeSeparator = ':';
  18. ShortDateFormat ="yyyy-MM-dd";
  19. ShortTimeFormat = "hh:nn:ss";
  20. LongTimeFormat = "hh:nn:ss";
  21. int nPid = (int)GetCurrentProcessId();
  22. g_sAppDir = ExtractFilePath(Application->ExeName);
  23. g_sAppName = ChangeFileExt(ExtractFileName(Application->ExeName), "");
  24. g_sCfgDir = g_sAppDir + "Cfg\\";
  25. g_sLogDir = g_sAppDir + "Log\\";
  26. g_sTempDir = g_sAppDir + "Temp\\";
  27. g_sImgDir = g_sAppDir + "Image\\";
  28. g_sFtpDir = g_sAppDir + "Ftp\\";
  29. g_sFormDir = g_sAppDir + "Form\\";
  30. ForceDirectories(g_sCfgDir.c_str());
  31. ForceDirectories(g_sLogDir.c_str());
  32. ForceDirectories(g_sTempDir.c_str());
  33. ForceDirectories(g_sImgDir.c_str());
  34. //ForceDirectories(g_sFtpDir.c_str());
  35. ForceDirectories(g_sFormDir.c_str());
  36. String sTmpDir = g_sLogDir + "Comm\\";
  37. ForceDirectories(sTmpDir.c_str());
  38. ChDir(g_sAppDir);
  39. g_AppCfg.Clear();
  40. APP_LoadConfigInfo();
  41. ITSLog = new TITSLog(g_sLogDir, g_sAppName, g_AppCfg.sLogDay);
  42. FDbLog = new TITSLog(g_sLogDir + "Db\\", "Database", g_AppCfg.sLogDay);
  43. ITSLog->FLogCfg = g_LogCfg;
  44. FDbLog->FLogCfg = g_LogCfg;
  45. LOGINFO("VMSCommServer Start....");
  46. try
  47. {
  48. AnsiString sPidFile = ChangeFileExt(ExtractFileName(Application->ExeName), ".pid");
  49. AnsiString sMutexName = "HANTE_VMSCommServerPasig.lock";
  50. if (SYS_ApplicationSingleInstance(sMutexName, g_sCfgDir+sPidFile))
  51. {
  52. LOGWARN("Program already running. program exit...");
  53. #if 0
  54. int nMsgType = MB_OK|MB_ICONERROR|MB_APPLMODAL;
  55. String sMsgTitle = g_AppCfg.sTitle;
  56. String sMsgError = ExtractFileName(Application->ExeName) + "\r\nProgram is already running.\r\nPlease check the program in the task manager.";
  57. Application->MessageBox(sMsgError.c_str(), sMsgTitle.c_str(), nMsgType);
  58. #endif
  59. return 0;
  60. }
  61. }
  62. catch (Exception &exception)
  63. {
  64. //Application->ShowException(&exception);
  65. return 0;
  66. }
  67. /* allocate memory for system */
  68. if ((g_SysInfo = (SYSTEM_INFORMATION *) malloc(sizeof(SYSTEM_INFORMATION))) == NULL)
  69. {
  70. return 0;
  71. }
  72. memset(g_SysInfo, 0x00, sizeof(SYSTEM_INFORMATION));
  73. try
  74. {
  75. Application->Initialize();
  76. Application->MainFormOnTaskBar = true;
  77. Application->Title = "PASIG City - VMS Communication Server";
  78. Application->CreateForm(__classid(TFrmMain), &FrmMain);
  79. Application->CreateForm(__classid(TDMCOMM), &DMCOMM);
  80. Application->CreateForm(__classid(TFrmVmsLog), &FrmVmsLog);
  81. Application->Run();
  82. }
  83. catch (Exception &exception)
  84. {
  85. #if COMM_EXCEPTION_MESSAGE
  86. Application->ShowException(&exception);
  87. #endif
  88. }
  89. catch (...)
  90. {
  91. #if COMM_EXCEPTION_MESSAGE
  92. try
  93. {
  94. throw Exception("");
  95. }
  96. catch (Exception &exception)
  97. {
  98. Application->ShowException(&exception);
  99. }
  100. #endif
  101. }
  102. //g_Log->WriteLog(LOG_INFO, "VMSCommSvr End...");
  103. LOGINFO("VMSCommServer End....");
  104. /* free memory */
  105. free(g_SysInfo);
  106. return 0;
  107. }
  108. //---------------------------------------------------------------------------