ITS_OP_UTIL.cpp 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include <tchar.h>
  5. #include "FrmUtilMainF.h"
  6. #include "ITSDbF.h"
  7. //---------------------------------------------------------------------------
  8. USEFORM("MAIN\FrmUtilMainF.cpp", FrmUtilMain);
  9. //---------------------------------------------------------------------------
  10. WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
  11. {
  12. DateSeparator = '-';
  13. TimeSeparator = ':';
  14. ShortDateFormat ="yyyy-MM-dd";
  15. ShortTimeFormat = "hh:nn:ss";
  16. LongTimeFormat = "hh:nn:ss";
  17. int nRes;
  18. String sAppDir = ExtractFilePath(Application->ExeName);
  19. ChDir(sAppDir);
  20. HANDLE hMutex;
  21. try
  22. {
  23. String sLockFile = ChangeFileExt(ExtractFileName(Application->ExeName), ".lock");
  24. String sProgMutexNm = "HANTE_" + sLockFile;
  25. if ((hMutex=OpenMutex(MUTEX_ALL_ACCESS, false, sProgMutexNm.c_str()))==NULL)
  26. hMutex = CreateMutex(NULL, true, sProgMutexNm.c_str());
  27. else
  28. {
  29. ShowMessage("통합운영단말 유틸리티 프로그램이 실행중입니다. \n 작업관리자의 프로세스 목록에서 \n프로그램을 종료후 실행해 주십시오");
  30. return 0;
  31. }
  32. }
  33. catch (Exception &exception)
  34. {
  35. Application->ShowException(&exception);
  36. return 0;
  37. }
  38. /*
  39. * 시스템 운영환경을 ini 파일에서 읽어 온다.
  40. */
  41. LoadDefaultConfigInfo("ITS_OP");
  42. if (!ITSDb_Initialize())
  43. {
  44. Application->MessageBox(L"Database 자원을 시스템으로부터 얻지 못했습니다.\r\n\r\n프로그램을 종료합니다.",
  45. L"프로그램 시작 오류!!!",
  46. MB_OK|MB_ICONERROR);
  47. return 0;
  48. }
  49. ITSDb_SetInfo(g_AppCfg.itsdb.sProvider, g_AppCfg.itsdb.sServerName, g_AppCfg.itsdb.sUserName, g_AppCfg.itsdb.sPassword);
  50. try
  51. {
  52. Application->Initialize();
  53. Application->MainFormOnTaskBar = true;
  54. Application->Title = "용인시 통합운영단말 유틸리티 프로그램";
  55. Application->CreateForm(__classid(TFrmUtilMain), &FrmUtilMain);
  56. Application->Run();
  57. }
  58. catch (Exception &exception)
  59. {
  60. Application->ShowException(&exception);
  61. }
  62. catch (...)
  63. {
  64. try
  65. {
  66. throw Exception("");
  67. }
  68. catch (Exception &exception)
  69. {
  70. Application->ShowException(&exception);
  71. }
  72. }
  73. prog_exit:
  74. try
  75. {
  76. ITSDb_Finalize();
  77. ReleaseMutex(hMutex);
  78. CloseHandle(hMutex);
  79. hMutex = NULL;
  80. //ITSLog_Log("Program end...");
  81. }
  82. catch(...)
  83. {
  84. }
  85. return 0;
  86. }
  87. //---------------------------------------------------------------------------