大家帮我看一下以下代码错在哪里?
vcmfc 2000-10-26 07:19:00 CPrintDialog prn(FALSE);
prn.GetDefaults();
HANDLE pn;
CString m_drivername,m_devicename;
DEVMODE *print;
m_drivername=prn.GetDriverName();
m_devicename=prn.GetDeviceName();
LPTSTR lp=m_devicename.GetBuffer(m_devicename.GetLength());
LPTSTR lp1=m_drivername.GetBuffer(m_drivername.GetLength());
print=new DEVMODE;
::ZeroMemory(print,sizeof(DEVMODE));
::OpenPrinter(lp1,&pn,NULL);
::DocumentProperties(m_hWnd,pn,lp,print,NULL,DM_OUT_BUFFER);
print->dmFields=DM_PAPERSIZE|DM_ORIENTATION;
print->dmPaperSize=DMPAPER_LETTER;
print->dmOrientation=2;
::DocumentProperties(m_hWnd,pn,lp,NULL,print,DM_IN_BUFFER|DM_OUT_BUFFER);
::ClosePrinter(pn);
m_devicename.ReleaseBuffer();
m_drivername.ReleaseBuffer();
delete print;//该处出错, why?