съедается ли память при PrepareReport()?

отредактировано 04:06 Раздел: FastReport Studio
может мой вопрос может показаться глупым,но могли бы вы мне разъяснить одну ситуацию. пожалуйста,помогите.

я выполняю программу. каждый раз при нажатии на кнопку я обновляю отчет,т.е. заново считываю шаблон и вывожу туду значения массива динамически. и каждый раз при выполнении ф-и pReport->PrepareReport(true);
у меня возрастает память (я смотрю в диспетчере задач).
Это правильно,что при каждом выполнении этой функции выделяется еще память?

Дело в том,что моя программа не должна выключаться. Она постоянно работает и пользователь время от времени строит эти отчеты. Но раз каждый раз она возрастает. то получается,что она может дойти до какого-то пикового значения,когда памяти не останется. Я правильно рассуждаю? Как этот вопрос можно решить? может я что-то в коде забыла дописать?

код программы здесь(программа написана на C++):
типы данных:
IfrxReportPtr pReport;
IfrxUserDataSetPtr pDataSet;
CfrxPreview m_frxPreview

обработчик нажатия на кнопку:
pReport->SelectDataset(false, pDataSet);
pReport->LoadReportFromFile(_bstr_t("2.fr3"));
pReport->SelectDataset(true, pDataSet);

CComQIPtr<IfrxComponent> Component(pReport);
CComQIPtr<IfrxComponent> MasterData;
MasterData = Component->FindObject(_bstr_t(_T("MasterData1")));
CComQIPtr<IfrxDataBand> DataBand(MasterData);
CComQIPtr<IfrxDataSet> MasterDataSet(pDataSet);
DataBand->DataSet = MasterDataSet;

m_frxPreview.put_Report(pReport);
m_frxPreview.Lock();
pReport->PrepareReport(true);
m_frxPreview.Unlock();
pReport->ShowPreparedReport();



Комментарии

  • отредактировано March 2009
    Добрый день!
    У меня возникла аналогичная проблема. После вызова PrepareReport пробегаю по элементам отчета, анализирую их. После этого мне нужно очистить память и перейти к другому отчету. Ни Clear, ни Free не помогают. Точнее Free убивает отчет, но память освобождается не полностью.
    Вы решили как-то проблему?

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

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