C
Noch ne Frage,
in InitInstance, dort wo ich Achtung geschrieben habe, legt CWinApp den dlg sonst auf dem Stack an, nicht auf dem Heap. Findet jetzt nicht alles, was in ClientWareDlg gemacht wird, auf dem Heap statt?????
Die Anzeige in vadump.exe hat sich leider nicht geändert!!!!
// ClientWare.cpp : Legt das Klassenverhalten für die Anwendung fest.
//
#include "stdafx.h"
#include "ClientWare.h"
#include "ClientWareDlg.h"
#include "afxsock.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CClientWareApp
BEGIN_MESSAGE_MAP(CClientWareApp, CWinApp)
//{{AFX_MSG_MAP(CClientWareApp)
// HINWEIS - Hier werden Mapping-Makros vom Klassen-Assistenten eingefügt und entfernt.
// Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN!
//}}AFX_MSG
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CClientWareApp Konstruktion
CClientWareApp::CClientWareApp()
{
// ZU ERLEDIGEN: Hier Code zur Konstruktion einfügen
// Alle wichtigen Initialisierungen in InitInstance platzieren
}
/////////////////////////////////////////////////////////////////////////////
// Das einzige CClientWareApp-Objekt
CClientWareApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CClientWareApp Initialisierung
BOOL CClientWareApp::InitInstance()
{
AfxEnableControlContainer();
if(!AfxOleInit())
MessageBox(NULL,"Konnte Ole-Dlls nicht initialisieren!","Achtung!",MB_OK);
// Standardinitialisierung
// Wenn Sie diese Funktionen nicht nutzen und die Größe Ihrer fertigen
// ausführbaren Datei reduzieren wollen, sollten Sie die nachfolgenden
// spezifischen Initialisierungsroutinen, die Sie nicht benötigen, entfernen.
if (!AfxSocketInit())
{
AfxMessageBox("Socket-Initialisation gescheitert!");
return FALSE;
}
#ifdef _AFXDLL
Enable3dControls(); // Diese Funktion bei Verwendung von MFC in gemeinsam genutzten DLLs aufrufen
#else
Enable3dControlsStatic(); // Diese Funktion bei statischen MFC-Anbindungen aufrufen
#endif
//////////Achtung Achtung Achtung Achtung Achtung Achtung!!!!!!!!
CClientWareDlg* dlg = new CClientWareDlg;///////////////sonst Stack
m_pMainWnd = dlg;
int nResponse = dlg->DoModal();
if (nResponse == IDOK)
{
// ZU ERLEDIGEN: Fügen Sie hier Code ein, um ein Schließen des
// Dialogfelds über OK zu steuern
}
else if (nResponse == IDCANCEL)
{
// ZU ERLEDIGEN: Fügen Sie hier Code ein, um ein Schließen des
// Dialogfelds über "Abbrechen" zu steuern
}
// Da das Dialogfeld geschlossen wurde, FALSE zurückliefern, so dass wir die
// Anwendung verlassen, anstatt das Nachrichtensystem der Anwendung zu starten.
return FALSE;
}