![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FastReport 3.0 переменные [D7, Win2k, WinXP]
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]при старте формирования отчета :)