LazReport: баги и вопросы...

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

LazReport: баги и вопросы...

Сообщение yuray » 02.07.2008 12:19:45

Использую LazReport в своих проектах. Обнаружил ряд багов, возникли вопросы. Начну с багов.

1. Толщина рамки TfrMemoView в дизайнере сохраняется в lrf-файл нормально, а считывается плохо.
Мне нужно было сохранить значение FrameWidth Value="0,5". При открытии дизайнера или репорта получал FrameWidth Value="1".
В юните LR_Class в процедуре procedure TfrView.LoadFromXML(XML: TXMLConfig; Path: String) изменил строчку
Код: Выделить всё
FFrameWidth := XML.GetValue(Path+'Frames/FrameWidth/Value', 1); // TODO Check default

на строчку
Код: Выделить всё
FFrameWidth := StrToDouble(XML.GetValue(Path+'Frames/FrameWidth/Value', '1')); // TODO Check default

и все заработало.

2. Также вообще не сохранялась информация в lrf-файле о стиле, толщине, цвете линий TfrLineView.
В том же юните в классе TfrLineView = class(TfrView) опубликовал property Frames
Код: Выделить всё
TfrLineView = class(TfrView)
  public
    constructor Create; override;
    procedure Draw(aCanvas: TCanvas); override;
    procedure DefinePopupMenu(Popup: TPopupMenu); override;
    function GetClipRgn(rt: TfrRgnType): HRGN; override;
  published
    property Frames;//<-------------
    property FrameColor;
    property FrameStyle;
    property FrameWidth;
  end; 

... и все работает.

Не знаю, нужно это писать в багрепорт или и здесь будет достаточно?

Теперь вопросы. :?:
1. Как программно закрыть репорт? Хочу, чтобы после отправки репорта на печать он сам закрывался.
2. В репорте не работает поиск. Как быть? Это баг или я не правильно пытаюсь искать?

WinXP, SP2. Lazarus 0.9.25 beta, 2008-06-19, SVN Revision: 15331, FPC 2.2.0
yuray
новенький
 
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Re: LazReport: баги и вопросы...

Сообщение Павел Ишенин » 02.07.2008 13:48:37

Jesus Rayes не читает это форум. Либо писать ему, либо в баг-трекер.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: LazReport: баги и вопросы...

Сообщение yuray » 02.07.2008 15:28:51

Написал в баг-трекер.
Касательно вопросов кто-нибудь сталкивался с подобными проблемами?
yuray
новенький
 
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Re: LazReport: баги и вопросы...

Сообщение Brainenjii » 02.07.2008 18:23:44

У меня сегодня в новом снапшоте вообще LarReport не открылся... Точно не помню на что ругался...
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1352
Зарегистрирован: 10.05.2007 00:04:46

Re: LazReport: баги и вопросы...

Сообщение yuray » 02.07.2008 23:17:00

2. В репорте не работает поиск...

Вопрос снимается. В начале юнита LR_View написано
Код: Выделить всё
{*****************************************}
{                                         }
{             FastReport v2.3             }
{             Report preview              }
{                                         }
{  Copyright (c) 1998-99 by Tzyganenko A. }
{                                         }
{*****************************************}

unit LR_View;

(*
Notes
  Not implemented because TMetaFile not exists :
 
  procedure TfrPreviewForm.FindText;
  procedure TfrPreviewForm.FindInEMF(emf: TMetafile);

*)
interface
................


Чтобы не нервировать пользователей, скрою я кнопку поиска до лучших времен.
yuray
новенький
 
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Re: LazReport: баги и вопросы...

Сообщение yuray » 16.07.2008 12:48:10

Реализовал поиск и программно закрываю репорт после отправки на печать. Кому интересно пишите.
yuray
новенький
 
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Re: LazReport: баги и вопросы...

Сообщение Attid » 16.07.2008 13:07:11

yuray
ну отправь патч в трекер или тут прикрепи.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2583
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: LazReport: баги и вопросы...

Сообщение yuray » 16.07.2008 16:38:52

Дело в том, что крепить очень много. Реализацию TMetaFile от Luнs Rodrigues (lr@neei.uevora.pt) я нашел в инете. Немножко поправил код в юните LR_View. Я не уверен в правильности моего кода. Поэтому, любой, кому это интересно, может доделать поиск себе сам. На счет трекера... Я просто не знаю, что там писать. Ссылку на TMetaFile дать и, мол, доделайте? Думаю, Jesus Rayes о существовании TMetaFile сам знает.
yuray
новенький
 
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Re: LazReport: баги и вопросы...

Сообщение alexs » 16.07.2008 20:11:31

Ты ему всёж отпиши.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3843
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: LazReport: баги и вопросы...

Сообщение VAshot » 24.11.2008 16:54:51

Не работает [TOTALPAGES]. У меня выдает "0".
Хотя в примере "editor" работает вполне нормально. Встречался ли кто с таким шаманством?

Добавлено спустя 23 минуты 12 секунд:
Упс.. Сорри. Нашел. Печать в два прохода.
Аватара пользователя
VAshot
постоялец
 
Сообщения: 128
Зарегистрирован: 01.11.2007 12:31:21
Откуда: Пермь

Re: LazReport: баги и вопросы...

Сообщение yuray » 26.11.2008 12:39:00

Вопрос по поводу Force new page.
Подскажите как заставить в отчете выводить каждую группу данных с новой страницы?
Есть в контекстном меню дизайнера меню "Force new page". Но как им пользоваться программно?
yuray
новенький
 
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Re: LazReport: баги и вопросы...

Сообщение VAshot » 10.03.2009 09:30:10

Можно ли каким-то образом отрисовать на канве LazReport без рисунка (растра)? Т.е. надо вывести график, чтобы он был в векторе (как это происходит при выводе на канву принтера).
Аватара пользователя
VAshot
постоялец
 
Сообщения: 128
Зарегистрирован: 01.11.2007 12:31:21
Откуда: Пермь

Re: LazReport: баги и вопросы...

Сообщение Ustas » 26.11.2009 10:11:49

Не подскажите, можно ли в репорте считать какой принтер был выбран для печати, а затем при следующем формировании отчета задать его по умолчанию, не в системе по умолчанию (понятно, что мне придется самому хранить значения). Насколько помню, такого не было до 3 версии FastReport. А хотелось бы...

P.S.

Много говорили про кодировку в LazReport`е, типа там все в UTF8 и прочее - верю. Но ответе мне, почему:
1. задаю "формат переменной" [1 234,50], а в отчете 1?234,50;
2. задаю [FORMATDATETIME(['dd/mmmm/yyyy'], ["DATES"])], а получаю 26 ??????? 2009.

* подчеркнуто для обращения внимания именно на это.
Ustas
постоялец
 
Сообщения: 145
Зарегистрирован: 19.10.2009 14:58:10
Откуда: г.Муром

Re: LazReport: баги и вопросы...

Сообщение alexs » 26.11.2009 19:43:56

Ustas писал(а):Но ответе мне, почему:
1. задаю "формат переменной" [1 234,50], а в отчете 1?234,50;

всё очень просто - lazarus работает в UTF8
а функция Format использует для форматирования даты и числа переменные, которые относятся в fpc rtl и в которых все значения хранятся в локале системы. В винде соответсвенно всё будет в кодировке win1251
решение простое - при старте программы перекодируй в utf8 значения массивов с именами месяцев/дней недели, также поставь правильно значение перменной DecimalSeparator.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3843
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: LazReport: баги и вопросы...

Сообщение Ustas » 27.11.2009 14:44:48

alexs писал(а):решение простое - при старте программы перекодируй в utf8 значения массивов с именами месяцев/дней недели, также поставь правильно значение перменной DecimalSeparator.


Так эти функции LazReport`а, я внутри отчета их вызываю.
Ustas
постоялец
 
Сообщения: 145
Зарегистрирован: 19.10.2009 14:58:10
Откуда: г.Муром

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru