Отчёт через Web. где ошибка?

BalBal
отредактировано 21:51 Раздел: FastReport 4.0
Задача: для каждого отчёта динамически создавать в fr диалоговое окошко с возможностью выбора параметров для запроса отчёта с последующим формированием отчёта.

Вот что было сделано:
из дельфи в отчёт экспортируется вот такой скрипт:
var i:integer;
myEdits: array [1..100] of tfrxeditcontrol;
myLabels: array [0..100] of tfrxlabelcontrol;
myButtons: array [1..2] of tfrxButtonControl;
myDialogPage: tfrxdialogpage;

procedure Button1OnClick(Sender: TfrxComponent);
begin
ADOQuery.Close;
for i:=1 to ADOQuery.Params.Count do
  Begin
    ADOQuery.Params.Items[i-1].DataType :=ftString;
    ADOQuery.Params.Items[i-1].Value:=trim(myEdits[i].text);
  end;
ADOQuery.Open;
end;

Begin
if ADOQuery.Params.Count <>0 then begin
myDialogPage:=tfrxdialogpage.Create(data.parent);
myLabels[0]:=tfrxlabelcontrol.create(myDialogPage);
myLabels[0].caption:='Введите значения параметров';
myButtons[1]:=tfrxButtonControl.create(myDialogPage);
myButtons[1].Caption:='Ok';
myButtons[1].ModalResult:=mrOk;
myButtons[1].OnClick:='Button1OnClick';
myButtons[2]:=tfrxButtonControl.create(myDialogPage);
myButtons[2].Caption:='Cancel';
myButtons[2].ModalResult:=mrCancel;

for i:=1 to ADOQuery.Params.Count do
  Begin
  myLabels[i]:=tfrxlabelcontrol.create(myDialogPage);
  myLabels[i].left:=10;
  myLabels[i].top:=25*i;
  myLabels[i].caption:=ADOQuery.params[i-1].name;
  myEdits[i]:=tfrxeditcontrol.create(myDialogPage);
  myEdits[i].left:=130;
  myEdits[i].top:=25*i;
  End;

myButtons[1].top:=25*i+25;
myButtons[2].left:=myButtons[1].left+myButtons[1].width;
myButtons[2].top:=myButtons[1].top;
myDialogPage.height:=25*i+80;
myDialogPage.width:=250;

end;
end.
= ';

При запуске такого отчёта из дизайнера или просто при запуске с использованием компонет дельфи - всё срабатывает правильно (форма отрисовывается, при нажатии на кнопку Ок появляется окошко с предпросмотром данного отчёта с учётом параметров)

А вот если файл с таким скриптом скормить fr серверу то...
1 - при формировании диалогового окна в браузере меняются все пропорции
2 - не отображаются лабелы (или их кэпшены...)
3 - при нажатии на любую из кнопок ничего не происходит
4 - при повторном нажатии на любую из кнопок диалоговый браузер закрывается и открывается ещё одно окно браузера с предыдущей страницей...

Вопрос:
1 - Что я делаю не так? (Как сделать так чтоб в вебе всё работало?)
2 - Как правильно запускать превью (ели не использовать mrOK)
3 - Как сделать так чтобы Квери не формировал отчёт до заполнения параметров?

Спасибо!!! :)

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.