//--------------------------------------------------------------------------- #include #include #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 #include 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; } //---------------------------------------------------------------------------