Разработчики отзовитесь плиз!!! Баги? Фичи?
//
Извиняюсь что повторяюсь, т.к. я уже кидал пост подобного содержания в другую тему, но никто не отвечает. Хотелось бы получить хоть какую-то поддержку, всё же купили у вас недавно Professional версию, ща вот имеюсь с ней по полной. Скажите хоть это так и должно быть? Может я что делаю неверно?
//
Repeat:
Вот кидаю в одну линию на ReportTitle-band четыре MemoView объекта, перечисляю справа-налево!!!:
2 TSysMemoView (Time, Date) и 1 пустой (EMPTY c пробелами для разделения) TfrxMemoView, у всех AutoWidth = True и Align = baRight.
Далее, на этом же уровне с ними один объект TfrxMemoView (MY_TITLE) для вывода текста передаваемого в отчёт из кода через переменную. У него AutoWidth=False, Align = baWidth.
Т.е. при выводе отчёта по логике сначала формируется самое крайнее справа (TIME), настараивается его ширина, потом следующее (DATE) настраивается его ширина и он прижимается вправо к TIME полю, потом поле с пробелами также настраивается его ширина и оно прижимается вправо к DATE полю.
Далее поле MY_TITLE растягивается на всю оставшуюся в строке область.
Под строкой с этими объектами расположен ещё один TfrxMemoView (MY_TITLE_FLOW) для приёма текста не влазящего в MY_TITLE (MY_TITLE.FlowTo = MY_TITLE_FLOW), у него Align=baWidth (на весь бэнд) и конечно StretchMode=smActualHeight. Т.е. текст титлов начинается на строке с датой и временем и должен обтекать их и печататься ниже на весь бэнд.
Теперь все глюки которые лезут в превьюшке:
1. При первой прорисовке поле MY_TITLE остаётся того же размера, что и при проектировании отчёта, т.е. не растянута на оставшееся свободное место после вывода даты и времени в правом углу или наоборот не вжата в это свободное место и налазит на поле DATE. Если затереть область прорисовки, то всё на первый взгляд выглядит правильно. Залез в исходники и если TfrxPreviewWorkspace.Paint вызывается первый раз, то зафигачил ещё вызов Windows.InvalidateRect(Parent.Handle, @r, True); Костыль конечно, но помогло.
2. Нифига нормально не работает FlowTo у этого же MY_TITLE. Замечаю, что оно правильно работает для ширины заданной при проектировании отчёта, а т.к. ширина изменяется (растягивание или сжатие в оставшееся место после вывода DATE и TIME), то либо сжирает часть текста, либо наоборот остаётся дофига свободного места.
3. И ещё одна пакость напоследок. При уменьшении ширины страницы, (т.е. опять же всё работает только для размеров которые были при проектировании) начинают перетусовываться (менять относительно друг друга положение) поля которые прижаты к правому краю, ну например, EMPTY, которое было прижато вправо между MY_TITLE и DATE вдруг прижимается к правому краю бэнда, потеснив TIME!!! Причём это происходит не только при изменении свойств страницы из превьюшки, но и из кода перед вызовом превьюшки.
Выход - писать руками формирование всего отчёта из кода? А как это потом глючить будет?
Извиняюсь что повторяюсь, т.к. я уже кидал пост подобного содержания в другую тему, но никто не отвечает. Хотелось бы получить хоть какую-то поддержку, всё же купили у вас недавно Professional версию, ща вот имеюсь с ней по полной. Скажите хоть это так и должно быть? Может я что делаю неверно?
//
Repeat:
Вот кидаю в одну линию на ReportTitle-band четыре MemoView объекта, перечисляю справа-налево!!!:
2 TSysMemoView (Time, Date) и 1 пустой (EMPTY c пробелами для разделения) TfrxMemoView, у всех AutoWidth = True и Align = baRight.
Далее, на этом же уровне с ними один объект TfrxMemoView (MY_TITLE) для вывода текста передаваемого в отчёт из кода через переменную. У него AutoWidth=False, Align = baWidth.
Т.е. при выводе отчёта по логике сначала формируется самое крайнее справа (TIME), настараивается его ширина, потом следующее (DATE) настраивается его ширина и он прижимается вправо к TIME полю, потом поле с пробелами также настраивается его ширина и оно прижимается вправо к DATE полю.
Далее поле MY_TITLE растягивается на всю оставшуюся в строке область.
Под строкой с этими объектами расположен ещё один TfrxMemoView (MY_TITLE_FLOW) для приёма текста не влазящего в MY_TITLE (MY_TITLE.FlowTo = MY_TITLE_FLOW), у него Align=baWidth (на весь бэнд) и конечно StretchMode=smActualHeight. Т.е. текст титлов начинается на строке с датой и временем и должен обтекать их и печататься ниже на весь бэнд.
Теперь все глюки которые лезут в превьюшке:
1. При первой прорисовке поле MY_TITLE остаётся того же размера, что и при проектировании отчёта, т.е. не растянута на оставшееся свободное место после вывода даты и времени в правом углу или наоборот не вжата в это свободное место и налазит на поле DATE. Если затереть область прорисовки, то всё на первый взгляд выглядит правильно. Залез в исходники и если TfrxPreviewWorkspace.Paint вызывается первый раз, то зафигачил ещё вызов Windows.InvalidateRect(Parent.Handle, @r, True); Костыль конечно, но помогло.
2. Нифига нормально не работает FlowTo у этого же MY_TITLE. Замечаю, что оно правильно работает для ширины заданной при проектировании отчёта, а т.к. ширина изменяется (растягивание или сжатие в оставшееся место после вывода DATE и TIME), то либо сжирает часть текста, либо наоборот остаётся дофига свободного места.
3. И ещё одна пакость напоследок. При уменьшении ширины страницы, (т.е. опять же всё работает только для размеров которые были при проектировании) начинают перетусовываться (менять относительно друг друга положение) поля которые прижаты к правому краю, ну например, EMPTY, которое было прижато вправо между MY_TITLE и DATE вдруг прижимается к правому краю бэнда, потеснив TIME!!! Причём это происходит не только при изменении свойств страницы из превьюшки, но и из кода перед вызовом превьюшки.
Выход - писать руками формирование всего отчёта из кода? А как это потом глючить будет?
Комментарии