Annotation of mstools/mfc/samples/oserver/bibref.cpp, revision 1.1

1.1     ! root        1: // This is a part of the Microsoft Foundation Classes C++ library.
        !             2: // Copyright (C) 1992 Microsoft Corporation
        !             3: // All rights reserved.
        !             4: //
        !             5: // This source code is only intended as a supplement to the
        !             6: // Microsoft Foundation Classes Reference and Microsoft
        !             7: // QuickHelp documentation provided with the library.
        !             8: // See these sources for detailed information regarding the
        !             9: // Microsoft Foundation Classes product.
        !            10: 
        !            11: 
        !            12: #include "bibref.h"
        !            13: #include "mainwnd.h"
        !            14: #include "bibsvr.h"
        !            15: 
        !            16: /////////////////////////////////////////////////////////////////////////////
        !            17: // One instance of this server application per client
        !            18: 
        !            19: CBibApp app;
        !            20: static CBibServer server;
        !            21: 
        !            22: BOOL CBibApp::InitInstance()
        !            23: {
        !            24:        BOOL bEmbedded = FALSE;
        !            25: 
        !            26:        // check if run with /Embedding
        !            27:        LPCSTR lpsz = m_lpCmdLine;
        !            28:        while (*lpsz == ' ')
        !            29:                lpsz++;
        !            30:        if ((*lpsz == '-' || *lpsz == '/') &&
        !            31:                _fstrncmp("Embedding", lpsz+1, 9) == 0)
        !            32:        {
        !            33:                lpsz += 10;
        !            34:                bEmbedded = TRUE;
        !            35:                server.SetLaunchEmbedded();
        !            36:        }
        !            37:        // BibRef ignores rest of command line - normally use this as a
        !            38:        //   document file name
        !            39: 
        !            40:        // BibRef data file
        !            41:        strIniFile = CString(m_pszAppName) + ".ini";
        !            42:                // NOTE: ini file contains settings as well as data
        !            43: 
        !            44:        CMainWnd* pWnd = new CMainWnd(bEmbedded);
        !            45:        m_pMainWnd = pWnd;
        !            46:        pWnd->ShowWindow(m_nCmdShow);
        !            47:        pWnd->UpdateWindow();
        !            48: 
        !            49:        if (!bEmbedded)
        !            50:        {
        !            51:                AfxOleRegisterServerName(SERVER_NAME, SERVER_LOCAL_NAME);
        !            52:        }
        !            53: 
        !            54:        if (!server.Register(SERVER_NAME, TRUE))   // multi-instance server
        !            55:        {
        !            56:                MessageBox(NULL, "Could not register server - Exiting",
        !            57:                        SERVER_NAME, MB_OK);
        !            58:                return FALSE;
        !            59:        }
        !            60: 
        !            61:        return TRUE;
        !            62: }
        !            63: 
        !            64: void CBibApp::ShutDown()
        !            65: {
        !            66:        if (server.IsOpen())
        !            67:                server.BeginRevoke(); // revoke the server, OLE will terminate the app
        !            68:        else
        !            69:                ::PostQuitMessage(0);
        !            70: }
        !            71: 
        !            72: int CBibApp::ExitInstance()
        !            73: {
        !            74:        if (m_pMainWnd != NULL)
        !            75:                m_pMainWnd->DestroyWindow();
        !            76:        return CWinApp::ExitInstance();
        !            77: }
        !            78: 
        !            79: /////////////////////////////////////////////////////////////////////////////

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.