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.
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.
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))
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden