none
Visual C++ Problem mit "Drucken abbrechen" RRS feed

  • Frage

  • Guten Tag,

    über das Menü eines CView rufe ich mittels ID_FILE_PRINT den Standard Print Dialog auf. Klicke ich nun auf den Button "Drucken", so klappt alles wie gewünscht, klicke ich dagegen auf "Abbrechen", so kommt eine Assertion!

    Die Ursache dieser Assertion war schnell ermittelt. Bei Klick auf "Abbrechen" springt der Programmzeiger unverständlicher Weise - genau wie bei Klick auf "Drucken" in die Routine void CView::OnFilePrint() des Moduls viewprnt.cpp der Microsoft Foundation Classes C++ Library und landet dann natürlich wieder in Zeilen-Nr. 151 ... 154 auf

    if (OnPreparePrinting(&printInfo))
    {
         // hDC must be set (did you remember to call DoPreparePrinting?)
         ASSERT(printInfo.m_pPD->m_pd.hDC != NULL);
         .......

    Bei "Abbrechen" ist natürlich printInfo.m_pPD->m_pd.hDC == NULL was die Assertion verursacht. Wie kann man das vermeiden?

    Für hilfreiche Hinweise wäre ich dankbar.

    K. H. Renders


    M. Thaddaeus

    Samstag, 2. August 2014 14:52

Alle Antworten

  • Hallo,

    kannst du bitte die betreffenden Zeilen von deinem Aufruf posten? Ich kann mir nicht vorstellen, dass es ein Problem der MFC ist (kann mich aber auch irren).


    Gruß
    Rudolf

    "Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." Georg Bernhard Shaw

    Montag, 15. September 2014 07:14