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