|
|
Microsoft Windows NT Build 297 06-28-1992
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and Microsoft
// QuickHelp documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.
#include "bibref.h"
#include "mainwnd.h"
#include "bibsvr.h"
/////////////////////////////////////////////////////////////////////////////
// One instance of this server application per client
CBibApp app;
static CBibServer server;
BOOL CBibApp::InitInstance()
{
BOOL bEmbedded = FALSE;
// check if run with /Embedding
LPCSTR lpsz = m_lpCmdLine;
while (*lpsz == ' ')
lpsz++;
if ((*lpsz == '-' || *lpsz == '/') &&
_fstrncmp("Embedding", lpsz+1, 9) == 0)
{
lpsz += 10;
bEmbedded = TRUE;
server.SetLaunchEmbedded();
}
// BibRef ignores rest of command line - normally use this as a
// document file name
// BibRef data file
strIniFile = CString(m_pszAppName) + ".ini";
// NOTE: ini file contains settings as well as data
CMainWnd* pWnd = new CMainWnd(bEmbedded);
m_pMainWnd = pWnd;
pWnd->ShowWindow(m_nCmdShow);
pWnd->UpdateWindow();
if (!bEmbedded)
{
AfxOleRegisterServerName(SERVER_NAME, SERVER_LOCAL_NAME);
}
if (!server.Register(SERVER_NAME, TRUE)) // multi-instance server
{
MessageBox(NULL, "Could not register server - Exiting",
SERVER_NAME, MB_OK);
return FALSE;
}
return TRUE;
}
void CBibApp::ShutDown()
{
if (server.IsOpen())
server.BeginRevoke(); // revoke the server, OLE will terminate the app
else
::PostQuitMessage(0);
}
int CBibApp::ExitInstance()
{
if (m_pMainWnd != NULL)
m_pMainWnd->DestroyWindow();
return CWinApp::ExitInstance();
}
/////////////////////////////////////////////////////////////////////////////
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.