VMSCommServer.cpp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. //---------------------------------------------------------------------------
  2. #include "AppGlobalF.h"
  3. #include <tchar.h>
  4. //---------------------------------------------------------------------------
  5. USEFORM("FRM\FrmControllerInfoF.cpp", FrmControllerInfo);
  6. USEFORM("FrmMainF.cpp", VmsCommMain);
  7. USEFORM("FRM\FrmSetTimeF.cpp", FrmSetTime);
  8. USEFORM("FRM\FrmSetConfigF.cpp", FrmSetConfig);
  9. USEFORM("FRM\FrmSetBrghF.cpp", FrmSetBrgh);
  10. USEFORM("FRM\FrmOptionF.cpp", FrmOption);
  11. //---------------------------------------------------------------------------
  12. WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
  13. {
  14. DateSeparator = '-';
  15. TimeSeparator = ':';
  16. ShortDateFormat ="yyyy-MM-dd";
  17. ShortTimeFormat = "hh:nn:ss";
  18. LongTimeFormat = "hh:nn:ss";
  19. int nPid = (int)GetCurrentProcessId();
  20. g_sAppDir = ExtractFilePath(Application->ExeName);
  21. g_sAppName = ChangeFileExt(ExtractFileName(Application->ExeName), "");
  22. g_sCfgDir = g_sAppDir + "Cfg\\";
  23. g_sLogDir = g_sAppDir + "Log\\";
  24. g_sTempDir = g_sAppDir + "Temp\\";
  25. g_sImgDir = g_sAppDir + "Image\\";
  26. ForceDirectories(g_sCfgDir.c_str());
  27. ForceDirectories(g_sLogDir.c_str());
  28. //ForceDirectories(g_sTempDir.c_str());
  29. //ForceDirectories(g_sImgDir.c_str());
  30. String sTmpDir = g_sLogDir + "Comm\\";
  31. ForceDirectories(sTmpDir.c_str());
  32. ChDir(g_sAppDir);
  33. g_AppCfg.Clear();
  34. APP_LoadConfigInfo();
  35. /*
  36. * 환경설정정로를 읽고 난 후에 FTP 관련 경로를 생성한다.
  37. */
  38. g_sFtpFormDir = g_sFtpHomeDir + FTP_FORM + "\\"; // FTP Form Directory(VMS 폼정보를 저장할 디렉리를 FTP 경로 아래로 설정한다. 디렉토리 아래에 VMS별로 저장한다.)
  39. g_sFtpVideoDir = g_sFtpHomeDir + FTP_VIDEO + "\\"; // FTP Video Directory
  40. g_sFtpStaticDir = g_sFtpHomeDir + FTP_STATIC + "\\"; // FTP 정적폼 Directory
  41. g_sFtpImageDir = g_sFtpHomeDir + FTP_IMAGE + "\\"; // FTP Image Directory
  42. ForceDirectories(g_sFtpHomeDir.c_str());
  43. ForceDirectories(g_sFtpFormDir.c_str());
  44. ForceDirectories(g_sFtpVideoDir.c_str());
  45. ForceDirectories(g_sFtpStaticDir.c_str());
  46. ForceDirectories(g_sFtpImageDir.c_str());
  47. ITSLog = new TITSLog(g_sLogDir, g_sAppName, g_AppCfg.sLogDay, true);
  48. ITSLog->FLogCfg = g_LogCfg;
  49. LOGINFO("VMSCommServer Start....");
  50. #if 1
  51. try
  52. {
  53. AnsiString sPidFile = ChangeFileExt(ExtractFileName(Application->ExeName), ".pid");
  54. AnsiString sMutexName = "POHANG_VMSCommServer.lock";
  55. if (APP_ApplicationSingleInstance(sMutexName, g_sCfgDir+sPidFile))
  56. {
  57. LOGWARN("Program already running. program exit...");
  58. #if 0
  59. int nMsgType = MB_OK|MB_ICONERROR|MB_APPLMODAL;
  60. String sMsgTitle = g_AppCfg.sTitle;
  61. String sMsgError = ExtractFileName(Application->ExeName) + "\r\nProgram is already running.\r\nPlease check the program in the task manager.";
  62. Application->MessageBox(sMsgError.c_str(), sMsgTitle.c_str(), nMsgType);
  63. #endif
  64. return 0;
  65. }
  66. }
  67. catch (Exception &exception)
  68. {
  69. //Application->ShowException(&exception);
  70. return 0;
  71. }
  72. #endif
  73. /* allocate memory for system */
  74. if ((g_SysInfo = (SYSTEM_INFORMATION *) malloc(sizeof(SYSTEM_INFORMATION))) == NULL)
  75. {
  76. return 0;
  77. }
  78. memset(g_SysInfo, 0x00, sizeof(SYSTEM_INFORMATION));
  79. try
  80. {
  81. ReportMemoryLeaksOnShutdown = true;
  82. Application->Initialize();
  83. Application->MainFormOnTaskBar = true;
  84. Application->Title = "VMS Communication Server";
  85. Application->CreateForm(__classid(TVmsCommMain), &VmsCommMain);
  86. Application->Run();
  87. }
  88. catch (Exception &exception)
  89. {
  90. #if 1
  91. Application->ShowException(&exception);
  92. #endif
  93. }
  94. catch (...)
  95. {
  96. #if 1
  97. try
  98. {
  99. throw Exception("");
  100. }
  101. catch (Exception &exception)
  102. {
  103. Application->ShowException(&exception);
  104. }
  105. #endif
  106. }
  107. LOGINFO("VMSCommServer End....");
  108. free(g_SysInfo);
  109. return 0;
  110. }
  111. //---------------------------------------------------------------------------