Периодически не выводится отчёт
Добрый день!
Прога написана на C++Builder 6, используется БД Firebird.
У клиентов при добавлении новой записи в БД отчёт не формируется, только после перезапуска проги, при этом отчёт через QuickReport выводится без проблем и перезапуска проги.
У меня лично данную ситуацию воспроизвести не удалось, всегда выводится нормально.
БД в обоих случаях расположена локально, но у меня машина на много мощнее, чем у клиентов.
Но думаю, что проблема не в в мощности ПК. Тогда в чём, подскажите, кто имел подобную проблему и как её победить ?!
Вот непосредственно код, который отвечает за загрузку шаблона, выбор принтера, формирование данных отчёта и непосредственно его вывод.
Прога написана на 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);
Комментарии
попробуйте указать полный путь, а не относительный,
или так:
Спасибо!
Попробую сделать так, но думаю что это не поможет, т.к. отчёт всё же через раз выводится.
А причина, по которой этот глюк явно выражается - это когда добавляется не непосредственно новая запись, а .jpg картинка в BLOB-поле таблицы, то после этого все отчёты не подгружаются.
При этом если отчёт встроен в программу, то всё выводится без проблем.
Это может быть связано только со слабой машиной и антивирусником.
Можно ли как-то проверять, загрузился ли отчёт из файла и возможно ли его после загрузки выводить на экран ?