Issue due to SetColumnWidthWYSIWYG |
Post Reply |
Author | |
KumarCJ
Groupie Joined: 02 April 2007 Location: India Status: Offline Points: 96 |
Post Options
Thanks(0)
Posted: 19 March 2012 at 4:12am |
Hi
We are using "Xtreme ToolkitPro v15.1.3". We are using customized print dialog and related function. The flow of function is BOOL CGridViewCJ::OnPreparePrinting(CPrintInfo* pInfo) { ... // Delete the CPrintDialog object created in the CPrintInfo ... // Construct and substitute with customized print dialog. .... // Set the page range ... // Change the PRINTDLG struct so that the custom print dialog ... // Set the flags of the PRINTDLG structure otherwise the changes will have no effect. .... and other initializations such as paper, title // Call another function ABC(); }// End of OnPreparePrinting() void CCMCGridViewCJ::ABC() { .... /* get the page layout record */ if (!GetLayoutRecord(nLayoutId, &Layout)) return; int nTop, nLeft, nBottom, nRight; nTop = Layout.nTopMargin; // unit is in 1000th of an inch nLeft = Layout.nLeftMargin; nBottom = Layout.nBottomMargin; nRight = Layout.nRightMargin; //SK:9312 GetPaintManager()->SetColumnWidthWYSIWYG(TRUE); m_pPrintOptions->GetPageHeader()->m_lfFont = *(GetLogFont(TITLEFONTINDEX)); // assume title is at center(row1,col2). CString strHeaderFormat; // date setup if (Layout.bTitleDate) strHeaderFormat = "&d"; else strHeaderFormat = g_null; // assume title is at center(row1,col2). if (Layout.bTitle) strHeaderFormat = strHeaderFormat + "&b" + lpMPrintOpt->szDetailString; else strHeaderFormat = g_null; if(!strHeaderFormat.IsEmpty()) m_pPrintOptions->GetPageHeader()->m_strFormatString = _T(strHeaderFormat); // set page count option CString strPageCode; strPageCode.LoadString(IDS_RG_PRINT_PAGE); m_pPrintOptions->GetPageFooter()->m_strFormatString = _T(strPageCode); CRect rect; if(m_pPrintOptions->IsMarginsMeasureInches()) { rect.top = nTop; rect.bottom = nBottom; rect.left = nLeft; rect.right = nRight; m_pPrintOptions->m_rcMargins = rect; } else { rect.top = nTop/1000; rect.bottom = nBottom/1000; rect.left = nLeft/1000; rect.right = nRight/1000; m_pPrintOptions->m_rcMargins = rect; } } The above functions flow works OK and display the Print dialog on WIN XP, But the when we tried to build the application (32 bits) on WIN 7 (64 bits) and run the exe in debug/release mode, then after displaying the Print Dialog application get crashed on WIN 7 (64 bits). [Note: above 2 function is for 32bit application ] call to "GetPaintManager()->SetColumnWidthWYSIWYG(TRUE);" leads to "CXTPReportPaintManager::GetPrintPageWidth()" and then it fails. I observe that "GetPrinterDeviceDefaults(...)" get called from our own function flow and also due to "GetPaintManager()->SetColumnWidthWYSIWYG(TRUE);" in ABC(..) function. Please see the attached call stack "Print Diloag Crash-Call Stack.zip" uploads/2903/Print_Diloag_Crash-Call_Stack.zip Please help me out. Thanks, Saket Kumar |
|
-- Saket Kumar
|
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |