Ошибки в компонентах fastreport?
Требуется создать форму для просмотра, экспорта и печати отчетов.Выбран Fastreport 3.0. Планируется покупка компоненты. Если бы ни одна гадость: если во время дизайна формы на нее сначала положить frxReport, а потом кладем frxRichObject , то при линковке приложения возникает эксепшн Access Violation.
Если же класть их на форму в обратном порядке: сначала frxRichObject ,затем нажать Save,чтоб в коде сначала был #pragma link "frxRich",
а потом frxReport и снова сэйвим чтобы появился #pragma link "frxClass", то ошибки не возникает. Такая же ситуация с компонентой frxDialogControls. Вопрос это такая фича,что нужно класть в таком порядке или бага в компонентах? Очень неудобно, когда кладешь все нужны компоненты и оказывается что хидеры и прагмы объявлены в неверном порядке и при этом возникает ошибка по неизвестной причине. Кстати при удалении этой формы из проекта бага остается. При использовании fastreport 2.5 таких багов не было.
Если же класть их на форму в обратном порядке: сначала frxRichObject ,затем нажать Save,чтоб в коде сначала был #pragma link "frxRich",
а потом frxReport и снова сэйвим чтобы появился #pragma link "frxClass", то ошибки не возникает. Такая же ситуация с компонентой frxDialogControls. Вопрос это такая фича,что нужно класть в таком порядке или бага в компонентах? Очень неудобно, когда кладешь все нужны компоненты и оказывается что хидеры и прагмы объявлены в неверном порядке и при этом возникает ошибка по неизвестной причине. Кстати при удалении этой формы из проекта бага остается. При использовании fastreport 2.5 таких багов не было.
Комментарии
Какая версия FR ?
Ошибку точно описать можете (адрес и тд..)?
Debugger Exception Notification
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 4002CD14. Read of address 00000008'. Process stopped. Use Step or Run to continue.
OK Help
Вот кусок View CPU:
rtl60.@Classes@TCollection@GetCount$qqrv:
4002CD14 8B4008 mov eax, [eax+0x08]
Без frxRichObject на форме проект запускается нормально.
Если хотите включить все в один exe, то project -> Options -> Packages -> и снимите крыжик с build with run-time packages. а если хотите юзать run-time пакеты, то добавьте указанные пакеты.
Вопросик как эти бплки добавить,каксоответственно bpl должны быть перенесены на машину клиента? Указать галочки в списке design packages или перечислить их в build with runtime packages?Скорее второе,я прав? Мой товарищ дома на чистую машину поставил фр3 (фр2.5 не было) и во время дизайна такая же бага. Сейчас я попробую бплки подключить. Пасиб за помощь.
Debugger Exception Notification
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 004AD394. Read of address 00000008'. Process stopped. Use Step or Run to continue.
OK Help
в *.cpp:
#pragma package(smart_init)
#pragma link "frxClass"
#pragma link "frxDBSet"
#pragma link "frxRich"
#pragma resource "*.dfm"
в *.h:
#include "frxClass.hpp"
#include "frxDBSet.hpp"
#include "frxRich.hpp"
Веселье в том что если поменять местами указанные выше строки кода в модулях то все работает:
в *.cpp:
#pragma package(smart_init)
#pragma link "frxDBSet"
#pragma link "frxRich"
#pragma link "frxClass"
#pragma resource "*.dfm"
в *.h:
#include "frxDBSet.hpp"
#include "frxRich.hpp"
#include "frxClass.hpp"
Debugger Exception Notification
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 004AD394. Read of address 00000008'. Process stopped. Use Step or Run to continue.
OK Help
в *.cpp:
#pragma package(smart_init)
#pragma link "frxClass"
#pragma link "frxDBSet"
#pragma link "frxRich"
#pragma resource "*.dfm"
в *.h:
#include "frxClass.hpp"
#include "frxDBSet.hpp"
#include "frxRich.hpp"
Веселье в том что если поменять местами указанные выше строки кода в модулях то все работает:
в *.cpp:
#pragma package(smart_init)
#pragma link "frxDBSet"
#pragma link "frxRich"
#pragma link "frxClass"
#pragma resource "*.dfm"
в *.h:
#include "frxDBSet.hpp"
#include "frxRich.hpp"
#include "frxClass.hpp"