Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FastReport 3.0 переменные [D7, Win2k, WinXP]


Страницы:   1 2 3

IntruderLab ©   (2007-10-30 09:33:00) 

Вобщем-то задача на удивление проста, в отчете формируется определенное значение, которое необходимо отдать программе для дальнейшей обработке, как ее вытащить оттуда для версии FR3.x я не понимаю. Ответ  где то рядом, но видимо запарил, кому не сложно - подскажите плиз


IntruderLab   (2007-10-30 14:19:00) [1]

Вобщем решение недокументированное!!!
Для работы в FR3.0 необходимо сделать следующее - перед ShowReport
написать следующую фичу:
frxReport.EngineOptions.DestroyForms := False;
и усЁ Гуд
Всем спасибо!!!


Сергей М.   (2007-10-30 13:02:00) [2]

И ?


IntruderLab   (2007-10-30 13:00:00) [3]

читал....


Сергей М.   (2007-10-30 12:50:00) [4]

А документацию к FR3 почитать ?
Там и примеры использования переменных имеются ..


IntruderLab   (2007-10-30 12:43:00) [5]

Прикол в следующем, если для этой переменой в самом отчете присвоить жестко Expressions ну например как у меня <rds."test"> то вышеприведенный скрипт даже  учитывая что в скрипте отчета приведено SET('sSaldo','100');
Будет выдавать <rds."test"> как строку :(


Сергей М.   (2007-10-30 12:16:00) [6]


> Null строку печатает


Какая такая "Null строка" ?

Строка м.б. пустая или не пустая, если это строка и ошибки при этом не возникло.


IntruderLab   (2007-10-30 12:15:00) [7]

Дак и не вызывает, Null строку печатает :(


Сергей М.   (2007-10-30 12:13:00) [8]


> 256


Ну тогда ShowMessage(s) не должен вызвать никаких проблем.


IntruderLab   (2007-10-30 12:08:00) [9]

256


Сергей М.   (2007-10-30 12:04:00) [10]


> это как проверить?


ShowMessage(IntToStr(Integer(TVarData(s).VType)));

А что, отладчик уже упразднили ?


IntruderLab   (2007-10-30 12:03:00) [11]

это как проверить? я тормозю ужасно сегодня, 2 сутки не сплю, работу заканчиваю :(


Сергей М.   (2007-10-30 11:46:00) [12]


> s : Variant


Чудесно.

Чему равно TVarData(varr.Value).VType после присвоения ?


IntruderLab   (2007-10-30 11:44:00) [13]

s : Variant


Сергей М.   (2007-10-30 11:42:00) [14]


> IntruderLab   (30.10.07 11:36) [32]


И ?

Чему равно TVarData(varr.Value).VType ?

Какого типа переменная s ?


IntruderLab   (2007-10-30 11:36:00) [15]

Короче, я уже запутался.

Заного: в отчете объявлена переменная sSaldo, и на коде отчета (в скрипте) дан следующий код:
procedure Page1OnAfterPrint(Sender: TfrxComponent);
begin
      Set('sSaldo', <rds2."PD_SUMMA">);  
end;

В коде программы (D7)
Следующий код:
procedure TfrmAirCompanyReports.repChangeBlanksAfterPrint(
 Sender: TfrxReportComponent);
var i : Integer; varr : TfrxVariable;
begin
 i := repChangeBlanks.Variables.IndexOf('sSaldo');
 if i <> -1 then
 begin
   varr := repChangeBlanks.Variables.Items[i];
   s := varr.Value;
 end;
end;


Сергей М.   (2007-10-30 11:26:00) [16]


> Это событие TfrxReport


И там тоже нет такого.

А если бы и было, то почему в [24] фигурирует регулярная процедура, а не метод объекта ?

Да и с какого перепугу этот код будет скомпилирован ?


IntruderLab   (2007-10-30 11:20:00) [17]

Это событие TfrxReport


Сергей М.   (2007-10-30 11:18:00) [18]


> при старте формирования отчета


Мож я и мартышка к старости, но в инспекторе объектов дизайнера отчета в упор не вижу события с именем "OnStartReport".


IntruderLab   (2007-10-30 11:12:00) [19]

В самом то отчете от переменную вытаскивает :( суть такая что программой я не могу ее вытянуть :(


IntruderLab   (2007-10-30 11:11:00) [20]

при старте формирования отчета :)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо