DoDataExchange (Hinzufügen von Variablen nicht mehr möglich)*** wichitg***
-
Hi @all,
ich habe folgendes Problem.
Wenn ich meinem Dialogfeld eine neue Komponente hinzufüge und darauf eine Membervariable setze, schmiert das Programm sofort ab. Beim Anlegen der Variable ist mir aufgefallen, daßvoid CHauptDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CHauptDlg) ... DDX_CBString(pDX, IDC_CBSTREAMER, m_strCBStreamer); DDX_Control(pDX, IDC_MEDIAPLAYER1, m_cMediaPlayer); DDX_Text(pDX, IDC_CHATMSG, m_strChatmsg); //}}AFX_DATA_MAP DDX_Text(pDX, IDC_PASSWORT, m_strPasswort); // neue Variable }die neue Variable immer auserhalb von AFX_DATA_MAP liegt.
In der Headerdatei ist sie auch nicht in AFX_DATA sondern im "normalen public".
Kann AFX_DATA_MAP nur eine bestimmte Anzahl an komponenten aufnehmen?
Und wenn ja, was muß ich machen, damit es weiterhin funktioniert.Ach ja, die Fehlermedung beim Start lautet:
Unbehandelte Ausnahme bei 0x00000000 in Haupt.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x00000000.
-
Es scheint daran zu liegen, das die Map voll ist. Aber wie implementiere ich eine neue? Hab´s so versucht
DoDataExchange//{{AFX_DATA2_MAP(CHauptDlg) DDX_Control(pDX, IDC_CHEINGANG2, m_Test); //}}AFX_DATA2_MAPHeader
//{{AFX_DATA2(CHauptDlg) CButton m_Test; //}}AFX_DATA2Klappt aber nicht.

-
*** mach aktuell ***
Ist wirklich wichtig!

-
Schon mal "Erstellen -> Bereinigen" und "Erstellen -> Alles neu erstellen" gemacht ?
-
aber natürlich habe ich schon alles bereinigt.