000
28.04.2006, 14:42 Uhr
-]Dr.LoLig[-
|
Hi! Ich will in meiner Dialog Anwendung im Endeffekt eine Listbox ausdrucken, da ich noch nie was mit Drucken gemacht habe und ich au net so richtig aus der msdn schlau geworden hab ich erstmal probiert mit diesen code eine ellipse zu drucken. Nur leider bekomme ich immer einen Speicherfehler. Es eine MessageBox im Visual Studio auf, in der steht: "Windows hat einen Haltepunkt in druckertest.exe ausgelöst.
Dies kann auf eine Beschädigung des Heaps zurückzuführen sein und weist auf ein Problem in druckertest.exe oder in einer der geladenen DLLs hin.
Weitere Analyseinformationen finden Sie möglicherweise im Ausgabefenster."
Visual Studio spring anschliessend in die malloc.c (Zeile 105)
Drücke ich in der Messagebox auf weiter kommt dann irgendwann meine Ellipse au ausn Drucker, aba irgendwie kommt er mit der DocInfo net klar.
Übrigens benutze Visual Studio 2005
Danke im voraus ;o) mfg
C++: |
#ifdef _WIN64 return HeapAlloc(_crtheap, 0, size ? size : 1); #else /* _WIN64 */ if (__active_heap == __SYSTEM_HEAP) { return HeapAlloc(_crtheap, 0, size ? size : 1); //Hier ist der Haltepunkt } else if ( __active_heap == __V6_HEAP ) { if (pvReturn = V6_HeapAlloc(size)) { return pvReturn; } }
|
C++: |
void CdruckertestDlg::OnBnClickedButton1() { CPrintDialog dlg(FALSE); if (dlg.DoModal()==IDOK) { CDC dc; dc.Attach(dlg.GetPrinterDC());
DOCINFO di; di.cbSize=sizeof(DOCINFO); di.lpszDocName="Testdokument"; di.lpszOutput=NULL; di.lpszDatatype=NULL; di.fwType=0;
dc.StartDoc(&di); //hier tritt der fehler auf dc.StartPage(); dc.Ellipse(0,0,400,300); int erg =dc.EndPage(); if (erg>=0) dc.EndDoc(); else dc.AbortDoc(); dc.Detach(); } }
|
|