Access-Violation bei Zuweisung von Membervariable <-> Steuerelement-ID
-
Ich habe mit dem MFC-Assistent eine bialogbasierte Anwendung erstellt.
Auf den Dialog habe ich ein Textfeld geschoben und diesem eine Steuerelement-ID vergeben. Wenn ich das Programm in dem Zustand starte, funktioniert es noch einwandfrei. Wenn ich jetzt aber der Steuerelement-ID des Textfeldes im MFC-Klassenassisten eine Membervariable zuweise, bekomme ich beim Ausführen des Programms eine Access-Violation an der (unten) markierten Stelle:
[cpp]/////////////////////////////////////////////////////////////////////////////
// CFLB_EDITApp InitialisierungBOOL CFLB_EDITApp::InitInstance()
{
AfxEnableControlContainer();// 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.#ifdef _AFXDLL
Enable3dControls(); // Diese Funktion bei Verwendung von MFC in gemeinsam genutzten DLLs aufrufen
#else
Enable3dControlsStatic(); // Diese Funktion bei statischen MFC-Anbindungen aufrufen
#endifCFLB_EDITDlg dlg;
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;
}[/cpp]Weiß jemand einen Rat?
-
Zeig mir mal den code vom der Dialogklasse h und cpp bitte ...
-
debugge mal in den konstruktor und oninitdialog rein.....
-
Das Ganze hat sich mittlerweise erledigt.
Ich habe einfach ein neues Projekt erstellt, die entsprechenden Steuerelemente neu angelegt und die schon fertigen Codeschnipsel reinkopiert...Jetzt gehts ohne Probleme!