ITS_OP_UTIL.cpp 2.8 KB

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