Периодически не выводится отчёт

отредактировано 12:19 Раздел: FastReport 4.0
Добрый день!
Прога написана на C++Builder 6, используется БД Firebird.
У клиентов при добавлении новой записи в БД отчёт не формируется, только после перезапуска проги, при этом отчёт через QuickReport выводится без проблем и перезапуска проги.
У меня лично данную ситуацию воспроизвести не удалось, всегда выводится нормально.
БД в обоих случаях расположена локально, но у меня машина на много мощнее, чем у клиентов.
Но думаю, что проблема не в в мощности ПК. Тогда в чём, подскажите, кто имел подобную проблему и как её победить ?!
Вот непосредственно код, который отвечает за загрузку шаблона, выбор принтера, формирование данных отчёта и непосредственно его вывод.
    ReportsModule->frxReport->LoadFromFile("Reports\\КарточкаПродавца.fr3");

// выбираем принтер
    DataModule1->DataSetSettings->Open();
    ReportsModule->frxReport->PrintOptions->Printer = DataModule1->DataSetSettingsCOLOR_PRINTER->AsString;
    ReportsModule->frxReport->SelectPrinter();
    DataModule1->DataSetSettings->Close();

тут передаём данные в переменные (где-то 25 параметров), например:
    ReportsModule->frxReport->Variables->Variables["SURNAME"] = "'" + DataModule1->DataSetProdavecSURNAME->AsString + "'";

    ReportsModule->frxReport->ShowReport(true);

Комментарии

  • отредактировано 12:19
    проблема скорее всего в этой строчке
        ReportsModule->frxReport->LoadFromFile("Reports\\КарточкаПродавца.fr3");
    

    попробуйте указать полный путь, а не относительный,
    или так:
        ReportsModule->frxReport->LoadFromFile(ExtractFilePath(ParamStr(0))+'Reports\КарточкаПродавца.fr3');
    

  • отредактировано 12:19
    spinx написал: »
    проблема скорее всего в этой строчке
        ReportsModule->frxReport->LoadFromFile("Reports\\КарточкаПродавца.fr3");
    

    попробуйте указать полный путь, а не относительный,
    или так:
        ReportsModule->frxReport->LoadFromFile(ExtractFilePath(ParamStr(0))+'Reports\КарточкаПродавца.fr3');
    

    Спасибо!
    Попробую сделать так, но думаю что это не поможет, т.к. отчёт всё же через раз выводится.
    А причина, по которой этот глюк явно выражается - это когда добавляется не непосредственно новая запись, а .jpg картинка в BLOB-поле таблицы, то после этого все отчёты не подгружаются.
    При этом если отчёт встроен в программу, то всё выводится без проблем.
    Это может быть связано только со слабой машиной и антивирусником.
    Можно ли как-то проверять, загрузился ли отчёт из файла и возможно ли его после загрузки выводить на экран ?

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

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