notorious.madeye Geschrieben 4. Januar 2005 Geschrieben 4. Januar 2005 Hallo, gibt es in der MFC eine andere Möglichkeit einen Dialog zu aktualisieren, als den UpdateData-Befehl? Beispiel: BOOL Beispieldialog::OnInitDialog() { UpdateData(TRUE); Anweisungen; UpdateData(FALSE); } Jedes mal wenn das UpdateData aufgerufen wird, krieg ich als Fehlermeldung: Debug Assertion Failed! File: dlgdata.cpp Durch Ignorieren verschwindet das Fenster zwar, jedoch soll es erst gar nicht auftauchen. Zitieren
Bubble Geschrieben 4. Januar 2005 Geschrieben 4. Januar 2005 Ein ASSERT Makro wird fehlschlagen sein. Diese Makros werden nur eingefügt, wenn Du im Debug-Modus compilierst. Am besten suchst Du den Fehler und behebst ihn, es könnte sonst zu einem Absturz des Programms führen. Grundsätzlich mußt Du das von MFC verwendete Binden von Controls an Varaiblen nicht nutzen, sondern könntest mit den eintsprehenden Befehlen die Werte selbst aus den Controls auslesen und hinein setzen. Allerdings würde ich die beiden Vorgehensweisen nicht mischen und wenn Du schon MFC benutzen willst, würde ich es im "MFC-Style" machen. Zitieren
Kratzy974 Geschrieben 4. Januar 2005 Geschrieben 4. Januar 2005 Da gebe ich Bubble recht, vo allem da du schneller Fehler bei den eigenen Controlupdate machst, als dies bei UpdateData der Fall ist. Du solltest einmal prüfen, ob die richtigen Variablen mit den richtigen DDX Befehlen angesprochen werden, und zusätzlich ob die Variablen auch alle Valid sind. Die DDX werden durch das UpdateData aufgerufen (genauer : DoDataExchange(CDataExchange* pDX)) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.