Article View: de.comp.lang.c++
Article #2042Start einer kompletten MFC Visual C++ - Anwendung aus einer DLL
From: Andreas Letsche
Date: Tue, 09 Apr 1996 06:35
Date: Tue, 09 Apr 1996 06:35
59 lines
2611 bytes
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!newsShow 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)