передача параметров из репорта в код
Доброго времени суток!
Не подскажете ли, уважаемые, как енто сделать?
Вот из кода в репорт все идет нормально, а из репорта в код - ну никак не получается.
Как делаю:
в репорте Variable myvar описана
в скрипте: set('myvar',''''+'proba'+'''');
в коде: kkk:=frxReport1.Variables; где kkk:string; - возвращаемое значение - null
Кто что скажет?
Не подскажете ли, уважаемые, как енто сделать?
Вот из кода в репорт все идет нормально, а из репорта в код - ну никак не получается.
Как делаю:
в репорте Variable myvar описана
в скрипте: set('myvar',''''+'proba'+'''');
в коде: kkk:=frxReport1.Variables; где kkk:string; - возвращаемое значение - null
Кто что скажет?
Комментарии
а вот польз.функции еще не юзал - а можно примерчик если не трудно?
в скрипте в программе Пользовательская функция:
в программе в скрипте:
ЗЫ:уж не помню как я делал, но у меня не получалось...
FR:=TfrxReport.Create(Application);
FR.OnUserFunction:=Form1.frxReport1UserFunction;
FR.AddFunction('procedure MYPROC(str:String)');
при этом в процедура обработчика даже не вызывается.
function TForm1.frxReport1UserFunction(const MethodName: String;
var Params: Variant): Variant;
begin
if MethodName='MYPROC' then Label17.Caption:=Params[0];
end;
Но если сделать тоже самое поместив компанент на форму то проходит на ура.
МОжет быть кто то сталкивался с подобным или я в чём то ошибаюсь...
procedure TForm1.TCPSExecute(AThread: TIdPeerThread);
FR:TfrxReport;
begin
with AThread.Connection do
try
INC(SesCount);
FR:=TfrxReport.Create(Form1);
FR.OnUserFunction:=frxReport1UserFunction;
FR.AddFunction('procedure MYPROC(str:String)');
....
В данном случа вроди бы обработчик переназначается, но когда происходит событие, обработчик не вызывается. ПО всей видимости это связано с тем что объекты создаются внутри потока...