/** * @file XTPWinApp.cpp * * @copyright * (c) 1998-2025 Codejock Software, All Rights Reserved. * * This source file is the property of Codejock Software and must not be * redistributed by any means without the explicit written permission of * Codejock Software. * * The use of this source code is governed by the terms and conditions specified * in the Toolkit Pro license agreement. Codejock Software grants you, as a * single software developer, the limited right to use this software on one * computer only. * * Contact Information: * support@codejock.com * http://www.codejock.com * */ #include "stdafx.h" #if defined(_XTP_USE_WINAPPEX) && (_MFC_VER >= 0x0900) # include "Common/Base/Diagnostic/XTPDisableAdvancedWarnings.h" # include # include "Common/Base/Diagnostic/XTPEnableAdvancedWarnings.h" #endif #include "Common/XTPTypeId.h" #include "Common/XTPSynchro.h" #include "Common/XTPSystemHelpers.h" #include "Common/XTPApplication.h" #include "Common/Base/XTPWinApp.h" #include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" #ifdef _DEBUG # define new DEBUG_NEW # undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CXTPWinApp IMPLEMENT_DYNAMIC(CXTPWinApp, CWinAppBase); #ifndef _XTP_USE_WINAPPEX CXTPWinApp::CXTPWinApp(int xtpComInit /*= xtpComInitAppDefault*/) : m_bXtpInitialized(XTPInitialize(xtpComInit)) , m_bXtpUninitialized(FALSE) { } #else CXTPWinApp::CXTPWinApp() : m_bXtpInitialized(XTPInitialize(xtpComInitAppDefault)) , m_bXtpUninitialized(FALSE) { } CXTPWinApp::CXTPWinApp(BOOL bResourceSmartUpdate, int xtpComInit) : CWinAppBase(bResourceSmartUpdate) , m_bXtpInitialized(XTPInitialize(xtpComInit)) , m_bXtpUninitialized(FALSE) { } #endif CXTPWinApp::~CXTPWinApp() { _ASSERTE("XTP application has not been propertly unitialized, CXTPWinApp::ExitInstance call " "has been missing" && (m_bXtpInitialized == m_bXtpUninitialized)); } BOOL CXTPWinApp::InitInstance() { if (!m_bXtpInitialized) { TRACE(_T("XTP Initialization failed\n")); return FALSE; } BOOL bInit = CWinAppBase::InitInstance(); if (!bInit) { TRACE(_T("Base application class initialization failed\n")); return FALSE; } return TRUE; } //----------------------------------------------------------------------- // Perform XTP application shut down by calling XTPShutdown() to release // all internal XTP pointers and resources. //----------------------------------------------------------------------- int CXTPWinApp::ExitInstance() { XTPShutdown(); m_bXtpUninitialized = TRUE; return CWinAppBase::ExitInstance(); } BEGIN_MESSAGE_MAP(CXTPWinApp, CWinAppBase) //{{AFX_MSG_MAP(CXTPWinApp) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CXTPWinApp message handlers