Access Violation при переключении между окнами.

отредактировано 12:59 Раздел: FastReport 4.0
Добрый вечер.
Осваиваю генерацию репортов и столкнулся с непонятной ошибкой...
Хочу в приложении реализовать редактирование шаблонов расположенных в базе данных. После выгрузки шаблона из базы пытаюсь его отобразить в редакторе, все проходит успешно, но стоит переключиться на другое окно - вылезает Access Violation. При использовании TfrxDesignerForm, ошибка возникает и в пустых и в заполненных шаблонах, при использовании только DesignReportInPanel метода, появление ошибки носит выборочный характер и появляется только с некоторыми из заполненных шаблонов.

Использую версию FastReport 4.11.8
Среда Embarcadero 2010, язык C++

Код:
В событии onShow формы:

TfrxReport *frxReport = GetReportTemplate(ID);
TfrxDesignerForm *designer = new TfrxDesignerForm(frxReport->Designer);
if(frxReport != NULL )frxReport->DesignReportInPanel(this);
else this->Close();

Если закомментировать строку "TfrxDesignerForm *designer = new TfrxDesignerForm(frxReport->Designer);", ошибка появляется не со всеми отчетами.

Подскажите пожалуйста - из-за чего может появляться такая ошибка?
Взял за основу пример "EmbedDesigner", Там TfrxDesignerForm используется для создания дополнительного меню, может быть нужно определить какие-нибудь важные методы...



Комментарии

  • отредактировано 12:59
    Понял закономерность появления ошибки:

    Если создать форму, вызвать метод для отчета DesignReportInPanel с указанием формы, отобразить форму, закрыть форму, удалить форму. То первый раз все проходит успешно, но при повторном выполнении форма отрисовывается и отчет отображается, но стоит перейти на другую форму или просто свернуть приложение - вылетает AV.
    В этой [topic="4746"]теме[/topic] обсуждалась похожая ситуация, но мне кажется что у них ноги растут из разных мест...

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

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