Как прочитать описание отчёта без его открытия?

отредактировано 14:36 Раздел: FastReport 4.0
Есть каталог с отчётами.
Необходимо в StringList загрузить названия этих отчетов.
Если я пишу
    try
      try
        frx:=TfrxReport.Create(nil);
        sl:=TStringList.Create;
        Found:=FindFirst(Path+'*.*',faAnyFile-faDirectory-faVolumeID,sr);
        while Found=0 do
           begin
              frx.Clear;
              frx.LoadFromFile(Path+sr.Name);
              if frx.ReportOptions.Name='' then
                sl.Add(Path+sr.Name)
              else
                sl.Add(frx.ReportOptions.Name);
              Found:=FindNext(SR);
           end;
        SysUtils.FindClose(SR);
      except
      end;
    finally
      FreeAndNil(frx);
    end;
то во время выполнения LoadFromFile отчёты начинают пытаться конектится к базе данных, при этом запрашивая имя/пароль пользователя для соединения с БД :)

Возможно, как то прочитать ReportOptions.Name без использования LoadFromFile и без парсинга самого файла отчёта?

Комментарии

  • gpigpi
    отредактировано 14:36
    Всё равно придётся парсить вторую строку XML-файла и считывать значение ReportOptions.Name
  • отредактировано 14:36
    gpi написал: »
    Всё равно придётся парсить вторую строку XML-файла и считывать значение ReportOptions.Name
    Аесли отчет в сжатом виде хранится? Где нечего, явно, парсить?
  • gpigpi
    отредактировано 14:36
    Тогда никак. Придётся только загружать отчёт

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

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