Очень прошу, помогите мне пожалуйста с моим вопросом:
Ситуация слежующая — есть диалог, на котором расположен ActiveX'овский контрол Crystal Reports Viewer.
Туда грузится отчет вот таким образом:
Беда здесь такая: пока диалог модальный — все нормально, но как только перестает им быть — отчет перестает грузиться и показывает 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.
Заранее признателен.
Re: Crystal Reports Viewer в modaless диалоге - помогите!
От:
Аноним
Дата:
20.02.07 07:39
Оценка:
Здравствуйте, vanes, Вы писали:
V>Очень прошу, помогите мне пожалуйста с моим вопросом: V>Ситуация слежующая — есть диалог, на котором расположен ActiveX'овский контрол Crystal Reports Viewer. V>Туда грузится отчет вот таким образом:
....
Первое, что приходит в голову, при таких ошибках — использование локальных объектов.
В случае модального диалога все будет работать, т.к. объект еще будет жив (выполнение программы "останавливается" на DoModal()), а в случае немодального — объекта диалога уже не будет (ShowWindow()), т.к. программа продолжит свое выполнение и объект выйдет из зоны своей видимости...
Re[2]: Crystal Reports Viewer в modaless диалоге - помогите!
От:
Аноним
Дата:
20.02.07 07:59
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, vanes, Вы писали:
V>>Очень прошу, помогите мне пожалуйста с моим вопросом: V>>Ситуация слежующая — есть диалог, на котором расположен ActiveX'овский контрол Crystal Reports Viewer. V>>Туда грузится отчет вот таким образом: А>.... А>Первое, что приходит в голову, при таких ошибках — использование локальных объектов. А>В случае модального диалога все будет работать, т.к. объект еще будет жив (выполнение программы "останавливается" на DoModal()), а в случае немодального — объекта диалога уже не будет (ShowWindow()), т.к. программа продолжит свое выполнение и объект выйдет из зоны своей видимости...
Да, вот на этот случай я и сделал диалог переменной членом, и вообще на всякий случай создавал его в динамической памяти, а не в стеке.
Мне кажестся, что проблема здесь кроется в особом использовании ActiveX объектов в недиалоговом контейнере (ведь CrystalActiveXReportViewer, т.е. m_crViewer — это ActiveX контрол). Но точно причину еще пока не установил.
vanes.
Re[2]: Crystal Reports Viewer в modaless диалоге - помогите!
От:
Аноним
Дата:
20.02.07 08:08
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, vanes, Вы писали:
V>>Очень прошу, помогите мне пожалуйста с моим вопросом: V>>Ситуация слежующая — есть диалог, на котором расположен ActiveX'овский контрол Crystal Reports Viewer. V>>Туда грузится отчет вот таким образом: А>.... А>Первое, что приходит в голову, при таких ошибках — использование локальных объектов. А>В случае модального диалога все будет работать, т.к. объект еще будет жив (выполнение программы "останавливается" на DoModal()), а в случае немодального — объекта диалога уже не будет (ShowWindow()), т.к. программа продолжит свое выполнение и объект выйдет из зоны своей видимости...
И еще забыл сказать — m_crViewer.ViewReport() выбрасывает exception.