Разработка компонент в FR4, изменения
Здесь описаны изменения в FastReport 4, касающиеся разработки собственных
компонент.
- Размер иконки компонента 16x16 пикселей.
- В FastReport 4 нет категорий в панелях инструментов
(frxObjects.RegisterCategory). Тем не менее, вы можете продолжать их
использовать.
- Вам не нужно использовать FImageIndex или Bitmap в невизуальных компонентах
(наследниках TfrxDialogComponent). Достаточно задать иконку компонента при его
регистрации (frxObjects.Register). Эта иконка будет использована при отрисовке
компонента.
- Невизуальные компоненты могут быть помещены только на страницу "Данные".
- Размер иконки визарда 16x16 пикселей для визардов, размещаемых на панели
управления, и 32x32 пиксела для визардов в меню "Файл|Новый...".
компонент.
- Размер иконки компонента 16x16 пикселей.
- В FastReport 4 нет категорий в панелях инструментов
(frxObjects.RegisterCategory). Тем не менее, вы можете продолжать их
использовать.
- Вам не нужно использовать FImageIndex или Bitmap в невизуальных компонентах
(наследниках TfrxDialogComponent). Достаточно задать иконку компонента при его
регистрации (frxObjects.Register). Эта иконка будет использована при отрисовке
компонента.
- Невизуальные компоненты могут быть помещены только на страницу "Данные".
- Размер иконки визарда 16x16 пикселей для визардов, размещаемых на панели
управления, и 32x32 пиксела для визардов в меню "Файл|Новый...".
Комментарии
- Самописные компоненты работают вроде нормально
- Но при обращении к ним в скрипте, например Выдает ошибку компиляции Unknown type: TfrxExprIdx (- это и есть собственный компонент)
Тут же обнаружилась проблема с самописным компонентом. Это обертка над TClientDataSet (в трехзвенке вещь очень полезная!).
Дело в том, что, по глупости, я его наследовал не от TfrxCustomQuery, а от TfrxCustomDataset. Свойство SQL сделано типом string.
Т.к. в FR4 нет возможности передать строку запроса в стандартный редактор SQL (там теперь требуется TStrings), было решено переделать компонент и наследовать его как положено от TfrxCustomQuery. Все получилось нормально кроме свойства SQL - теперь оно стало типом TStrings. И, как следствие, при открытии старых бланков отчетов это свойство не читается из файла.
Есть ли возможность каким-то образом переопределить методы чтения моего компонента из файла?
Пробовал через DefineProperties, но что-то не получается.. Помогите кто-нибудь, плиз..
первое,что сразу заметил - появился TfrCustomDatabase (судя по developer manual от fr3)