123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #include <windows.h>
- #define __PLUGIN_DLL_EXPORT__
- #include "VMS0000MZ.h"
- #include "AppGlobalF.h"
- #include "ITSDbF.h"
- #include "FrmVmsMsgFormMngrF.h"
- #include "FrmVmsMsgSymbMngrF.h"
- #include "FrmVmsMsgVideoMngrF.h"
- #include "FrmVmsMsgScheMngrF.h"
- #include "FrmVmsLcsScheMngrF.h"
- #include "FrmVmsMsgRespMngrF.h"
- #include "FrmVmsMsgDfltMngrF.h"
- #include "FrmVmsMsgPubrMngrF.h"
- #include "FrmVmsMsgUserDispF.h"
- #include "FrmVmsModuleSttsF.h"
- #include "FrmVmsMsgDsplPrstF.h"
- // VmsMsgFormMngr
- USEFORM("..\VmsMsgFormMngr\SRC\FrmVmsMsgFormMngrF.cpp", FrmVmsMsgFormMngr);
- USEFORM("..\VmsMsgFormMngr\SRC\VMSM510MF.cpp", VMSM510M);
- USEFORM("..\VmsMsgFormMngr\SRC\VMSM520MF.cpp", VMSM520M);
- USEFORM("..\VmsMsgFormMngr\SRC\VMSM530MF.cpp", VMSM530M);
- USEFORM("..\VmsMsgFormMngr\SRC\VMSM540MF.cpp", VMSM540M);
- USEFORM("..\VmsMsgFormMngr\SRC\VMSM570MF.cpp", VMSM570M);
- USEFORM("..\VmsMsgFormMngr\SRC\VMSM580MF.cpp", VMSM580M);
- USEFORM("..\VmsMsgFormMngr\SRC\VMSM590MF.cpp", VMSM590M);
- // VmsMsgSymbMngr
- USEFORM("..\VmsMsgSymbMngr\SRC\FrmVmsMsgSymbMngrF.cpp", FrmVmsMsgSymbMngr);
- // VmsMsgVideoMngr
- USEFORM("..\VmsMsgVideoMngr\SRC\FrmVmsMsgVideoMngrF.cpp", FrmVmsMsgVideoMngr);
- // VmsMsgScheMngr
- USEFORM("..\VmsMsgScheMngr\SRC\FrmVmsMsgScheMngrF.cpp", FrmVmsMsgScheMngr);
- USEFORM("..\VmsMsgScheMngr\SRC\VMSM610MF.cpp", VMSM610M);
- // VmsLcsScheMngr
- USEFORM("..\VmsLcsScheMngr\SRC\FrmVmsLcsScheMngrF.cpp", FrmVmsLcsScheMngr);
- USEFORM("..\VmsLcsScheMngr\SRC\FrmVmsLcsSelTermF.cpp", FrmVmsPubrSelTerm);
- // VmsMsgRespMngr
- USEFORM("..\VmsMsgRespMngr\SRC\FrmVmsMsgRespMngrF.cpp", FrmVmsMsgRespMngr);
- // VmsMsgDfltMngr
- USEFORM("..\VmsMsgDfltMngr\SRC\FrmVmsMsgDfltMngrF.cpp", FrmVmsMsgDfltMngr);
- // VmsMsgPubrMngr
- USEFORM("..\VmsMsgPubrMngr\SRC\FrmVmsPubrSelTermF.cpp", FrmVmsPubrSelTerm);
- USEFORM("..\VmsMsgPubrMngr\SRC\FrmVmsMsgPubrMngrF.cpp", FrmVmsMsgPubrMngr);
- // VmsMsgEmgrMngr
- USEFORM("..\VmsMsgEmgrMngr\SRC\FrmVmsMsgEmgrMngrF.cpp", FrmVmsMsgEmgrMngr);
- USEFORM("..\VmsMsgEmgrMngr\SRC\FrmVmsEmgrSelTermF.cpp", FrmVmsEmgrSelTerm);
- // VmsMsgUserDisp
- USEFORM("..\VmsMsgUserDisp\SRC\FrmVmsMsgUserDispF.cpp", FrmVmsMsgUserDisp);
- USEFORM("..\VmsMsgUserDisp\SRC\FrmVmsFormSelF.cpp", FrmVmsFormSel);
- USEFORM("..\VmsMsgUserDisp\SRC\VMSM510MF.cpp", VMSM510M);
- // VmsRemoteCtrl
- USEFORM("..\VmsRemoteCtrl\SRC\FrmVmsRemoteCtrlF.cpp", FrmVmsRemoteCtrl);
- // VmsModuleStts
- USEFORM("..\VmsModuleStts\SRC\FrmVmsModuleSttsF.cpp", FrmVmsModuleStts);
- // VmsMsgDsplPrst
- USEFORM("..\VmsMsgDsplPrst\SRC\FrmVmsMsgDsplPrstF.cpp", FrmVmsMsgDsplPrst);
- // VmsMsgDsplSche
- USEFORM("..\VmsMsgDsplSche\SRC\FrmVmsMsgDsplScheF.cpp", FrmVmsMsgDsplSche);
- USEFORM("..\VmsMsgDsplSche\SRC\VMS0201MF.cpp", VMS0201M);
- #pragma hdrstop
- //---------------------------------------------------------------------------
- // Important note about DLL memory management when your DLL uses the
- // static version of the RunTime Library:
- //
- // If your DLL exports any functions that pass String objects (or structs/
- // classes containing nested Strings) as parameter or function results,
- // you will need to add the library MEMMGR.LIB to both the DLL project and
- // any other projects that use the DLL. You will also need to use MEMMGR.LIB
- // if any other projects which use the DLL will be performing new or delete
- // operations on any non-TObject-derived classes which are exported from the
- // DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
- // EXE's to use the BORLNDMM.DLL as their memory manager. In these cases,
- // the file BORLNDMM.DLL should be deployed along with your DLL.
- //
- // To avoid using BORLNDMM.DLL, pass string information using "char *" or
- // ShortString parameters.
- //
- // If your DLL uses the dynamic version of the RTL, you do not need to
- // explicitly add MEMMGR.LIB as this will be done implicitly for you
- //---------------------------------------------------------------------------
- #pragma argsused
- #define STRICT
- #include <windows.h>
- #include <algorithm>
- using std::min;
- using std::max;
- #include "gdiplus.h"
- #include "GdiplusBase.h" //항상 넣어 둔다.
- class CGdiPlusStarter
- {
- private:
- ULONG_PTR m_gpToken;
- public:
- bool m_bSuccess;
- CGdiPlusStarter()
- {
- ::CoInitialize(NULL);
- Gdiplus::GdiplusStartupInput gpsi;
- m_bSuccess = (Gdiplus::GdiplusStartup(&m_gpToken, &gpsi, NULL) == Gdiplus::Ok);
- dxInitialize();
- }
- ~CGdiPlusStarter()
- {
- dxInitialize();
- Gdiplus::GdiplusShutdown(m_gpToken);
- ::CoUninitialize();
- }
- };
- CGdiPlusStarter g_gps;
- //---------------------------------------------------------------------------
- bool InitializeApplication() {
- static bool isInitializeApplication = true;
- if (isInitializeApplication) {
- ShowMessage("InitializeApplication");
- DateSeparator = '-';
- TimeSeparator = ':';
- ShortDateFormat ="yyyy-MM-dd";
- ShortTimeFormat = "hh:nn:ss";
- LongTimeFormat = "hh:nn:ss";
- cxFormatController()->BeginUpdate();
- cxFormatController()->UseDelphiDateTimeFormats = true;
- cxFormatController()->EndUpdate();
- cxFormatController()->GetFormats();
- cxFormatController()->NotifyListeners();
- g_sAppDir = ExtractFilePath(Application->ExeName);
- g_sAppName = ChangeFileExt(ExtractFileName(Application->ExeName), "");
- g_sCfgDir = g_sAppDir + g_IniFileDir + "\\";
- g_sLogDir = g_sAppDir + "Log\\";
- ForceDirectories(g_sLogDir.c_str());
- ChDir(g_sAppDir);
- /*
- * 시스템 운영환경을 ini 파일에서 읽어 온다.
- */
- LoadDefaultConfigInfo(g_IniFileName);
- ITSLog = new TITSLog(g_sLogDir, g_sAppName, g_AppCfg.sLogDay);
- ITSLog->FLogCfg = g_LogCfg;
- if (!ITSDb_Initialize()) {
- Application->MessageBox(L"Database 자원을 시스템으로부터 얻지 못했습니다.\r\n\r\n프로그램을 종료합니다.",
- L"프로그램 시작 오류!!!",
- MB_OK|MB_ICONERROR);
- return false;
- }
- if (g_AppCfg.itsdb.sConnectStr == "") {
- ITSDb_SetInfo(g_AppCfg.itsdb.sProvider, g_AppCfg.itsdb.sServerName, g_AppCfg.itsdb.sUserName, g_AppCfg.itsdb.sPassword);
- }
- else {
- ITSDb_SetConnStr(g_AppCfg.itsdb.sConnectStr);
- }
- if (!ITSDb_Open()) {
- Application->MessageBox(L"데이터베이스 접속에 실패하였습니다.\r\n\r\n프로그램을 종료합니다.",
- L"프로그램 시작 오류!!!",
- MB_OK|MB_ICONERROR);
- return false;
- }
- isInitializeApplication = false;
- }
- return true;
- }
- //---------------------------------------------------------------------------
- PLUGIN_LIB int __stdcall ShowVmsMsgFormMngr(HWND AOwner, int AShowType, String AOperId)
- {
- ShowMessage(AOperId);
- if (FrmVmsMsgFormMngr != NULL) {
- FrmVmsMsgFormMngr->BringToFront();
- return 0;
- }
- if (!InitializeApplication()) {
- return -1;
- }
- FrmVmsMsgFormMngr = new TFrmVmsMsgFormMngr(NULL);
- #if 0
- if (AShowType == e_mdichild) {
- FrmVmsMsgFormMngr->FormStyle = fsMDIChild;
- FrmVmsMsgFormMngr->Show();
- }
- else
- if (AShowType == e_modal) {
- FrmVmsMsgFormMngr->FormStyle = fsMDIChild;
- FrmVmsMsgFormMngr->ShowModal();
- }
- else {
- FrmVmsMsgFormMngr->FormStyle = fsMDIChild;
- FrmVmsMsgFormMngr->Show();
- }
- #else
- FrmVmsMsgFormMngr->Show();
- #endif
- return 0;
- }
- //---------------------------------------------------------------------------
- PLUGIN_LIB int __stdcall ShowVmsMsgFormMngr2()
- {
- if (!InitializeApplication()) {
- return -1;
- }
- FrmVmsMsgFormMngr = new TFrmVmsMsgFormMngr(NULL);
- FrmVmsMsgFormMngr->Show();
- return 0;
- }
- //---------------------------------------------------------------------------
- PLUGIN_LIB int __stdcall ShowVmsMsgSymbMngr(HWND AOwner, int AShowType, String AOperId)
- {
- ShowMessage(AOperId);
- if (FrmVmsMsgSymbMngr != NULL) {
- FrmVmsMsgSymbMngr->BringToFront();
- return 0;
- }
- if (!InitializeApplication()) {
- return -1;
- }
- FrmVmsMsgSymbMngr = new TFrmVmsMsgSymbMngr(NULL);
- #if 0
- if (AShowType == e_mdichild) {
- FrmVmsMsgSymbMngr->FormStyle = fsMDIChild;
- FrmVmsMsgSymbMngr->Show();
- }
- else
- if (AShowType == e_modal) {
- FrmVmsMsgSymbMngr->FormStyle = fsMDIChild;
- FrmVmsMsgSymbMngr->ShowModal();
- }
- else {
- FrmVmsMsgSymbMngr->FormStyle = fsMDIChild;
- FrmVmsMsgSymbMngr->Show();
- }
- #else
- FrmVmsMsgSymbMngr->Show();
- #endif
- return 0;
- }
- //---------------------------------------------------------------------------
- PLUGIN_LIB int __stdcall ShowVmsMsgSymbMngr2()
- {
- if (!InitializeApplication()) {
- return -1;
- }
- FrmVmsMsgSymbMngr = new TFrmVmsMsgSymbMngr(NULL);
- FrmVmsMsgSymbMngr->Show();
- return 0;
- }
- //---------------------------------------------------------------------------
- int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
- {
- if (reason == DLL_PROCESS_DETACH)
- {
- try {
- } catch(...) {}
- }
- return 1;
- }
- //---------------------------------------------------------------------------
|