Frx2xto30: Convertdatasetandfield Vs Frgetdatasetandfield

отредактировано May 2010 Раздел: FastReport 4.0
Такая ситуация: отчет в двух файлах: frf + sql. Сначала sql парсится, на его основе создаются датасеты. Для них создаются аналогичные TfrxDBDataSet к имени которых добавляется 'fr'. Например, мой DataSet имеет имя odsAct, компонент TfrxDBDataSet имя frodsAct. После этого загружаю сам frf который конвертируется с помощью frx2xto30. В результате конвертации процедура ConvertDatasetAndField для всех Memo в выражении [odsAct."ACT_ID"] меняет датасет: [frodsAct."ACT_ID"]
Когда же запускается отчет, то frGetDataSetAndField находит не то, что нужно следующей строкой:

DataSet := TDataSet(frFindComponent(f, sl[0]));

Здесь sl[0]='frodsAct'. Понятно, что TDataSet и TfrxDBDataSet не совместимы. Не понятно: зачем ConvertDatasetAndField меняет датасет, на тот, который нельзя обработать при показе отчета? Или я что-то не правильно делаю?

ps. Если я потом, в сконвертированном fr3 меняю frodsAct руками на odsAct, то отчет нормально отображается.
pss. Такая ситуация проявляется если выражение простое "[odsAct."ACT_ID"]". Если выражение сложнее (например, еще какой-то текст присутствует), то подмены датасета не происходит.

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

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