Странная ошибка при вызове Loadreportfromfile

отредактировано 03:58 Раздел: FastReport Studio
Итак:

Используется VC++ VisualStudio 2005
и FR Studio 4.8.221

Сделано стандартное открытие отчета из файла в диалоге MFC:

инициализация такая, всё стандартно:
class AFX_EXT_CLASS CFastReportDlg
{
public:
  CFastReportDlg  ();
  ~CFastReportDlg (void);

  IfrxReportPtr                  pReport;    // Fast Report object
   
.....
 IfrxReportPtr p(__uuidof(TfrxReport));
    pReport = p;
.....

вызов так:
void CFastReportDlg::ShowReport(CString sReportName, CString sSQL, CString sConnect)
{
  try
  {
    TRACE(sSQL + CString("\r\n"));

    HRESULT        hr;

    hr = pReport->ClearReport       ();
    hr = pReport->LoadReportFromFile(sReportName.GetBuffer());


Однако в дебуге Win32 при вызове LoadReportFromFile вываливает ошибку
First-chance exception at 0x7c812afb in ProgrammaD.exe: 0x0EEDFADE: 0xeedfade.

в файле fastreport3.tli в участке кода

#pragma implementation_key(768)
inline HRESULT FastReport::IfrxReport::LoadReportFromFile ( _bstr_t szFileName ) {
    HRESULT _hr = raw_LoadReportFromFile(szFileName);
    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
    return _hr;
}


Далее в итоге получаем _hr = S_OK - и отчет открывается чудесно.
Сам отчет кроме отключенного поля Connected ничем не примечателен - хоть даже взять простейший гладкий отчет с одним полем.
В FR студии открывается без проблем. Кстати счас проверил, с включенным полем Connected тоже выдает в дебуге такое же исключение.

Вобщем ввиду того, что в релизе все работает, то проблема не супер критичная, но все же раз выдает екзепшен, то что-то видимо
идет не так, и это вызывает опасения - мало ли как и где вылезет.

Если вдруг я делаю что не так, то скажите пожалуйста что не так, и как устранить это исключение.

Заранее спасибо! :)

ЗЫ: Если нужна дополнительная информация для прояснения проблемы, готов предоставить, спрашивайте, если что не ясно. Старался написать максимально понятно, но мало ли.

Комментарии

  • отредактировано 03:58
    написал:
    ЗЫ: Если нужна дополнительная информация для прояснения проблемы, готов предоставить, спрашивайте, если что не ясно. Старался написать максимально понятно, но мало ли.
    Что в sReportName?
  • отредактировано 03:58
    OlegK написал: »
    Что в sReportName?

    Там обычная MFC-строка. Содержит полный путь к файлу.
    CString sReportName;
    

    Пробовал и конвертить в _bstr_t и в подобное, что совместимо. Пробовал в полном пути \ заменять на \\ (стандартный приёмчик). Вобщем-то та же картина. Пробовал и простой путь, без пробелов и премудростей, и имена 8.3 - всё одно.

    Выкидывает описанное исключение- и открывает после него отлично отчет (это в дебуге). В релизе соотвественно вообше екзепшена
    не выскакивает.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.