Crystal Reports Viewer в modaless диалоге - помогите!
От: vanes Россия  
Дата: 19.02.07 15:20
Оценка:
Очень прошу, помогите мне пожалуйста с моим вопросом:
Ситуация слежующая — есть диалог, на котором расположен ActiveX'овский контрол Crystal Reports Viewer.
Туда грузится отчет вот таким образом:

BOOL CMyRptDlg::OnInitDialog()
{
BOOL bRes = FALSE;


TRY
{

// CComPtr<ICRApplication> m_App;

HRESULT hRes;
if(FAILED(hRes = m_App.CreateInstance(_T("CrystalRuntime.Application.11"), NULL, CLSCTX_ALL)))
return hRes;

// CComPtr<IReport> m_MyReport;

CComVariant vtDummy;
vtDummy.vt = VT_EMPTY;
if(FAILED(hRes = m_App->OpenReport(bstrReport, vtDummy, &m_MyReport)))
return hRes;

if(m_ipReport == NULL)
return E_FAIL;

// m_crViewer — это Crystal Reports Viewer
m_crViewer.SetReportSource(m_ipReport); // exception
m_crViewer.ViewReport(); // exception

bRes = TRUE;
}
END_TRY;

return bRes & CDialog::OnInitDialog();
}

Беда здесь такая: пока диалог модальный — все нормально, но как только перестает им быть — отчет перестает грузиться и показывает messagebox с таким сообщением: "Logon failed."

На всякий случай — создание немодального диалога я делаю так:

m_pMyViewerDlg = new CMyRptDlg();
if (!m_pMyViewerDlg->Create(CMyRptDlg::IDD, AfxGetApp()->m_pMainWnd))
return E_FAIL;

if (!m_pMyViewerDlg->ShowWindow(SW_SHOWNORMAL))
return E_FAIL;

Кроме того — метод ShowWindow возвращает FALSE.

Заранее признателен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.