Ни как не могу разобраться, в чём дело...
Господа! Некоторое время уже использую FR 2.4 для CPPB и никак не могу разобраться с одной фишкой, а именно:
У меня в проге нужно выводить 7 форм отчётов, скажем "Отчёт1", "Отчёт2" и т.д. Соответственно имеется 7 кнопок, по которым выводятся соответствующие отчёты.
Всё работает нормально. НО! Если провести полную очистку БД, а затем внести в БД какие-то записи, то выводится не то, что надо, а то что, выводилось до этого, что похоже на какое-то кэширование...
Т.е. так: клацаю "кнопку1"-выводится "Отчёт1", клацаю "кнопку 7"-выводится "Отчёт7"; очищаю БД (emptry), клацаю "кнопку 3", выводится
"Отчёт 7", либо не выводится ничего....
Что за бред? Если есть какие мысли, поделитесь... Код такой:
AnsiString Rep[]={"DAT\\ASAkt.frf",
"DAT\\ASrepperesm.frf",
"DAT\\ASrabota.frf",
"DAT\\ASzapch.frf",
"DAT\\ASrash.frf",
"DAT\\ASGarTal.frf",
"DAT\\ASPeresm.frf"};
void __fastcall TFPreview::Load(int i)
{
AnsiString REPORT;
TfrReport *Report;
REPORT=Rep;
Report = FPreview->frCompositeReport1;
FPreview->frReport1->LoadFromFile(REPORT);
FPreview->frCompositeReport1->DoublePass = True;
FPreview->frCompositeReport1->Reports->Clear();
FPreview->frCompositeReport1->Reports->Add(FPreview->frReport1);
Report->Preview = FPreview->frPreview1;
Report->ShowReport();
}
У меня в проге нужно выводить 7 форм отчётов, скажем "Отчёт1", "Отчёт2" и т.д. Соответственно имеется 7 кнопок, по которым выводятся соответствующие отчёты.
Всё работает нормально. НО! Если провести полную очистку БД, а затем внести в БД какие-то записи, то выводится не то, что надо, а то что, выводилось до этого, что похоже на какое-то кэширование...
Т.е. так: клацаю "кнопку1"-выводится "Отчёт1", клацаю "кнопку 7"-выводится "Отчёт7"; очищаю БД (emptry), клацаю "кнопку 3", выводится
"Отчёт 7", либо не выводится ничего....
Что за бред? Если есть какие мысли, поделитесь... Код такой:
AnsiString Rep[]={"DAT\\ASAkt.frf",
"DAT\\ASrepperesm.frf",
"DAT\\ASrabota.frf",
"DAT\\ASzapch.frf",
"DAT\\ASrash.frf",
"DAT\\ASGarTal.frf",
"DAT\\ASPeresm.frf"};
void __fastcall TFPreview::Load(int i)
{
AnsiString REPORT;
TfrReport *Report;
REPORT=Rep;
Report = FPreview->frCompositeReport1;
FPreview->frReport1->LoadFromFile(REPORT);
FPreview->frCompositeReport1->DoublePass = True;
FPreview->frCompositeReport1->Reports->Clear();
FPreview->frCompositeReport1->Reports->Add(FPreview->frReport1);
Report->Preview = FPreview->frPreview1;
Report->ShowReport();
}
Комментарии
Какая у вас БД?
Через какие компоненты доступ к БД?
"Кеширование отчетом" тут точно не причем. Попробуй, в конце концов, переоткрыть все транзакции и источники данных.