Bool CSampleApp::InitInstance() { // Initialize OLE libraries if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } // CT: нрйкчвемхе дхюкнцю х яннаыемхъ на хявепоюмхх нфхдюмхъ нрберю яепбепю COleMessageFilter* pFilter = AfxOleGetMessageFilter(); ASSERT_VALID(pFilter); pFilter->SetMessagePendingDelay( -1 ); pFilter->EnableNotRespondingDialog(FALSE); // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif // Parse the command line to see if launched as OLE server if (RunEmbedded() || RunAutomated()) { // Register all OLE server (factories) as running. This enables the // OLE libraries to create objects from other applications. COleTemplateServer::RegisterAll(); } else { // When a server application is launched stand-alone, it is a good idea // to update the system registry in case it has been damaged. COleObjectFactory::UpdateRegistryAll(); } CSampleDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; }
BOOL CMfcCliApp::InitInstance() { // Initialize OLE libraries if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } AfxEnableControlContainer(); // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif // Parse the command line to see if launched as OLE server if (RunEmbedded() || RunAutomated()) { // Register all OLE server (factories) as running. This enables the // OLE libraries to create objects from other applications. COleTemplateServer::RegisterAll(); // Application was run with /Embedding or /Automation. Don't show the // main window in this case. return TRUE; } // When a server application is launched stand-alone, it is a good idea // to update the system registry in case it has been damaged. COleObjectFactory::UpdateRegistryAll(); CMfcCliDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; }
BOOL CCalcApp::InitInstance() { // Initialize OLE 2.0 libraries if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } // Parse the command line to see if launched as OLE server if (RunEmbedded() || RunAutomated()) { // Register all OLE server (factories) as running. This enables the // OLE 2.0 libraries to create objects from other applications. COleTemplateServer::RegisterAll(); // Do not continue with rest of initialization. Wait for // client to create a CCalcDlg object instead. return TRUE; } // When a server application is launched stand-alone, it is a good idea // to update the system registry in case it has been damaged. COleObjectFactory::UpdateRegistryAll(); // create a modeless dialog as the main window of the application //This disables the warning that the dialog could leak - //it will not leak since the Set Visible registers the dialog as //the main frame and any windows message that closes that dialog //causes the parent class to call the destructor #pragma warning( push ) #pragma warning(disable:6014) CCalcDlg* pDlg = new CCalcDlg; #pragma warning( pop ) pDlg->SetVisible(TRUE); if (!pDlg->GetVisible()) { // if GetVisible fails after SetVisibile, we never registered // the pDlg with the parent class, and it will not be deleted AfxMessageBox(IDP_UNABLE_TO_SHOW_CALC); delete pDlg; return FALSE; } pDlg->RegisterActive(); // We are using a modeless dialog so we can translate accelerator keys // against the dialog. In order to run the main message pump, // InitInstance must return TRUE even though this application is // a dialog-based application. return TRUE; }
BOOL CEx24aApp::InitInstance() { AfxOleInit(); if (RunEmbedded() || RunAutomated()) { // component started by COM COleTemplateServer::RegisterAll(); return TRUE; } // Component is being run directly by the user COleObjectFactory::UpdateRegistryAll(); AfxMessageBox("Bank component is registered"); // add this line return FALSE; }
BOOL CMDriveApp::InitInstance() { _Module.Init(NULL, NULL); // Initialize OLE libraries if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } // Parse the command line to see if launched as OLE server if (RunEmbedded() || RunAutomated()) { // Register all OLE server (factories) as running. This enables the // OLE libraries to create objects from other applications. COleTemplateServer::RegisterAll(); // Application was run with /Embedding or /Automation. Don't show the // main window in this case. return TRUE; } // When a server application is launched stand-alone, it is a good idea // to update the system registry in case it has been damaged. COleObjectFactory::UpdateRegistryAll(); CMDriveDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // dlg.OnStopAll(); } else if (nResponse == IDCANCEL) { // dlg.OnStopAll(); } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; }
BOOL CInProcApp::InitInstance() { #ifndef _USRDLL if (!RunEmbedded() && !RunAutomated()) { COleObjectFactory::UpdateRegistryAll(); AfxMessageBox(IDP_CANT_RUN_STANDALONE); return FALSE; } // Initialize OLE libraries if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } #endif // Register all OLE server (factories) as running. This enables the // OLE libraries to create objects from other applications. COleObjectFactory::RegisterAll(); return TRUE; }
BOOL CMyApp::InitInstance() { if (!DComOk()) { AfxMessageBox(_T("DCOM OLE Not supported"),MB_SYSTEMMODAL+MB_OK); return FALSE; } // Initialize OLE libraries if (!AfxOleInit2()) { AfxMessageBox(_T("OLE Initialization Failed!"),MB_SYSTEMMODAL+MB_OK); return FALSE; } // Initialize the ATL Module _Module.Init(ObjectMap,m_hInstance); _Module.dwThreadID = GetCurrentThreadId(); #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking // to MFC statically #endif //Reg UnregSever TCHAR szTokens[] = _T("-/"); int nRet = 0; BOOL bRun = TRUE; LPCTSTR lpszToken = FindOneOf(m_lpCmdLine, szTokens); while (lpszToken != NULL) { if (lstrcmpi(lpszToken, _T("UnregServer"))==0) { _Module.UpdateRegistryFromResource(IDR_ModbusServer, FALSE); nRet = _Module.UnregisterServer(); nRet = UnRegisterTypeLib( LIBID_MODBUSSERVERLib, 1, 0, LOCALE_NEUTRAL, SYS_WIN32); bRun = FALSE; break; } if (lstrcmpi(lpszToken, _T("RegServer"))==0) { _Module.UpdateRegistryFromResource(IDR_ModbusServer, TRUE); nRet = _Module.RegisterServer(TRUE); bRun = FALSE; // Update the System Registry COleObjectFactory::UpdateRegistryAll(); // MFC Classes if(!(SUCCEEDED(nRet))){ AfxMessageBox("Register server Failed",MB_SYSTEMMODAL+MB_OK); } bRun=FALSE; break; } lpszToken = FindOneOf(lpszToken, szTokens); } // ATL Classes // Create the dialog box or other stuff here // Register OLE Class Factories // MFC ones are for multiple as specified // by the IMPLEMENT_OLECREATE() macro //COleObjectFactory::RegisterAll(); // ATL ones specifically register with REGCLS_MULTIPLEUSE if (bRun) { if(!(SUCCEEDED(_Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE)))){ AfxMessageBox("RegisterClassObjects Failed",MB_SYSTEMMODAL+MB_OK); } } VERIFY(CTcpServer::StartWinsock()); // Parse the command line to see if launched as OLE server if (RunEmbedded() || RunAutomated()) { // Application was run with /Embedding or /Automation. // Don't show the main window in this case. //Test(); return TRUE; } return FALSE; // Nothing to do, so exit. }
BOOL CCalcApp::InitInstance() { // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #if _MFC_VER < 0x0700 Enable3dControls(); #endif // Initialize OLE 2.0 libraries if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } // Parse command line for automation or reg/unreg switches. CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); if (RunEmbedded() || RunAutomated()) { // Register all OLE server (factories) as running. This enables the // OLE 2.0 libraries to create objects from other applications. COleTemplateServer::RegisterAll(); // Do not continue with rest of initialization. Wait for // client to create a CCalcDlg object instead. return TRUE; } // App was launched with /Unregserver or /Unregister switch. Remove // entries from the registry. else if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppUnregister) { COleObjectFactory::UpdateRegistryAll(FALSE); AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor); return FALSE; } // App was launched standalone or with other switches (e.g. /Register // or /Regserver). Update registry entries, including typelibrary. else { COleObjectFactory::UpdateRegistryAll(); AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid); if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppRegister) return FALSE; } // create a modeless dialog as the main window of the application //suppress warning because an object of CDialog is self-destructing #pragma warning (suppress: 6014) CCalcDlg* pDlg = new CCalcDlg; pDlg->SetVisible(TRUE); if (!pDlg->GetVisible()) { AfxMessageBox(IDP_UNABLE_TO_SHOW_CALC); return FALSE; } pDlg->RegisterActive(); // We are using a modeless dialog so we can translate accelerator keys // against the dialog. In order to run the main message pump, // InitInstance must return TRUE even though this application is // a dialog-based application. return TRUE; }