Frx2xto30: Convertdatasetandfield Vs Frgetdatasetandfield
Такая ситуация: отчет в двух файлах: 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"]". Если выражение сложнее (например, еще какой-то текст присутствует), то подмены датасета не происходит.
Когда же запускается отчет, то frGetDataSetAndField находит не то, что нужно следующей строкой:
DataSet := TDataSet(frFindComponent(f, sl[0]));
Здесь sl[0]='frodsAct'. Понятно, что TDataSet и TfrxDBDataSet не совместимы. Не понятно: зачем ConvertDatasetAndField меняет датасет, на тот, который нельзя обработать при показе отчета? Или я что-то не правильно делаю?
ps. Если я потом, в сконвертированном fr3 меняю frodsAct руками на odsAct, то отчет нормально отображается.
pss. Такая ситуация проявляется если выражение простое "[odsAct."ACT_ID"]". Если выражение сложнее (например, еще какой-то текст присутствует), то подмены датасета не происходит.