🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #2042

Start einer kompletten MFC Visual C++ - Anwendung aus einer DLL

#2042
From: Andreas Letsche
Date: Tue, 09 Apr 1996 06:35
59 lines
2611 bytes
Problem:
Wie kann ich das Hauptmenu (MainFrame) auf den Bildschirm bringen,
wenn die aufrufende Anwendung (BASIC - aehnlich) nur die Moeglichkeit
bietet, DLL's einzubinden und daraufhin Funktionen dieser zu verwenden.
Beim Aufruf der Application als EXE Datei erscheint das Hauptmenu
automatisch, der Aufrufmechanismus bleibt durch die automatische 
Codegenerierung mit MFC und AppWizard leider verborgen.

Hier einer der vielen (vergeblichen) Versuche eine Funktion (Test()) zu
exportieren, die den automatischen Aufruf des MainFrame zur Folge hat, 
ausserdem die Versionen von InitInstance und ExitInstance:

BOOL CTestdllApp::InitInstance()
{
	SetDialogBkColor();        // Set dialog background color to gray
	LoadStdProfileSettings();  // Load standard INI file options

	CSingleDocTemplate* pDocTemplate;
	pDocTemplate =3D new CSingleDocTemplate(
		IDR_MAINFRAME,
		RUNTIME_CLASS(CTestdllDoc),
		RUNTIME_CLASS(CMainFrame),     // main SDI frame window
		RUNTIME_CLASS(CTestdllView));
	AddDocTemplate(pDocTemplate);
    AfxMessageBox("InitInstance",MB_OK,0);
    OnFileNew();
    if (m_lpCmdLine[0] !=3D '\0')
	{
	// TODO: add command line processing here
	}
	return TRUE;
}
//**************************************************************************
int CTestdllApp::ExitInstance()
{
	AfxMessageBox("ExitInstance",MB_OK,0);
	return CWinApp::ExitInstance();
}
//**************************************************************************

CTestdllApp NEAR theApp("testdll.dll");    

extern "C"
int FAR PASCAL _export Test()
{ 
	return 1;
}
//**************************************************************************

Beim Aufruf von Test erscheinen die eingebauten Meldungen InitInstance und
ExitInstance, ausserdem eine leere MsgBox mit dem Titel der Anwendung, aber kein
MainFrame.

Verwendete Versionen : Visual C++ 1.50 und MFC 2.5, das Programm wurde mit
der Option _USRDLL=20
compiliert.
Fuer Tips, Tricks und Anregungen oder sogar Beispiele im Vorraus vielen Dank !

Bitte sendet Eure Mail direkt an : Matthias.Drinkmann@rt.bosch.de
Technical Details
Message-ID: <316A053D.41C6@fh-reutlingen.de>
Path: arc1-ca.pugleaf.net!news.belwue.de!news

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.belwue.de!news
From: Andreas Letsche <Andreas.Letsche@fh-reutlingen.de>
Newsgroups: de.comp.lang.c++
Subject: Start einer kompletten MFC Visual C++ - Anwendung aus einer DLL
Date: Tue, 09 Apr 1996 08:35:41 +0200
Organization: IFA CAD/CAM, FH Reutlingen
Message-ID: <316A053D.41C6@fh-reutlingen.de>
NNTP-Posting-Host: stoll1.fh-reutlingen.de
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.0 (X11; I; IRIX 5.3 IP22)