Объявление переменной

отредактировано August 2006 Раздел: FastReport 3.0
Подскажите, как правильно добавить переменную в отчет?
Делаю так: Отчет->Переменные. Затем в окне "список переменных" создаю свою переменную с нужным мне именем. При попытке использовать затем эту переменную в коде скрипта, при компиляции пишет, что "неопределенный идентификатор". Рисунок прилагаю.
Если написать так: Set("AutoSaveBox", 1); то ошибки при компиляции нет, но переменная не инициализируется. Как все-таки правильно объявить переменную и присвоить ей значение? У меня версия FR 3.22.
Спасибо.

Комментарии

  • отредактировано 17:08
    Если хотите устанавливать значения переменных из событий, то нужно использовать переменные скрипта.
  • отредактировано 17:08
    Какая последовательность действий должна быть в моем случае?
  • отредактировано 17:08
    Объявите в скрипте глобальную переменную и используйте ее.
  • отредактировано August 2006
    Скажите а как можно инициализировать переменные объявленные в окне "Список переменных"?

    P.S.
    Это у меня чужой отчет и в этом отчете есть две переменные которые объявлены в окне "Список переменных" stime и etime (см. рисунок выше).
    Затем они в скрипте инициализируется и больше их нигде нет:
    void OnClick(TfrxComponent Sender)
    {
    stime = Trunc(EditControl1.Date); //начало даты
    etime = Trunc(EditControl2.Date); //конец даты

    *******

    }

  • отредактировано August 2006
    Переменные отчета устанавливаются через set() , но переменные отчета не получится установить в событии OnClick, т.к. отчет еще не запущен и эту переменную так установить не получится.
  • отредактировано August 2006
    >Переменные отчета устанавливаются через set() , но переменные отчета не получится установить в событии OnClick

    Можно их проинициализировать в событии onStartReport?
    Мне они нужны именно и в списке переменных и проинициализированные перед началом отчета. ;)
    Есть отчет, он подключается к другой программе через include и после этого в той программе переменные, которые есть в “списке переменных” отчета становиться, доступны строкой: SystemReport.Variables["имя переменной"]
    Мне надо иметь свои переменные в окне “список переменных” отчета и они должны быть проинициализированы. После include я получу к своим переменным доступ в той другой программе, которая имеет доступ к ним через SystemReport.Variables["имя переменной"]
  • отредактировано 17:08
    Нужно в PageOnBeforePrint или аналогичном событии.

    void Page1OnBeforePrint(TfrxComponent Sender)
    {
    Set("stime",DateEdit1.Date);
    Set("etime",DateEdit2.Date);
    }
  • отредактировано 17:08
    написал:
    Если написать так: Set("AutoSaveBox", 1); то ошибки при компиляции нет, но переменная не инициализирует
    Я, обычно, задаю значения переменным при нажатии на кнопку, у которой ModalResult = mrOk. При этом я использую Set'ы, например:
    void m_pOkButtonOnClick(TfrxComponent Sender)
    {
      Set ("DateBegin", m_pDateBeginEdit.Date);
      Set ("DateEnd", m_pDateEndEdit.Date);
      //----------------------------------------------------------------------
    }
    //------------------------------------------------------------------------
    
    И никаких проблем не возникает, значения передаются, компилятор ошибок не находит.

    написал:
    переменные отчета не получится установить в событии OnClick, т.к. отчет еще не запущен и эту переменную так установить не получится
    Если мы имеем форму внутри отчета, то вполне реально установить значения переменных, т.к. на момент создания формы в отчете сам отчет уже инициализирован и его переменные тоже.


    P.S. Проверьте, что нигде из более поздних событий эта переменная не изменяется еще раз.
  • отредактировано 17:08
    Большое всем спасибо!
    Попробую сегодня на работе разобраться, используя ваши рекомендации.

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

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