Fr 4.9x Глюк при использовании Tfrxdblookupcombobox

отредактировано 16:43 Раздел: FastReport 4.0
1. Предложение.

Класс TfrxDBLookupComboBox регистрируется (и становится виден в дизайнере) только если в приложении в одной из секций USES явно указан frxCustomDB.
Ну, или используются модули, которые обращаются к frxCustomDB:
  frxIBXComponents, 
  frxFIBComponents,
  frxADOComponents,
  frxBDEComponents...
Я не использую ни один из компонентов типа:
написал:
TfrxFIBComponents
TfrxIBXComponents
TfrxBDEComponents
TfrxADOComponents
...
- поэтому в uses ни один из модулей не попадает.

А TfrxDBLookupComboBox - нужен.

Предложение: включить frxCustomDB в секцию uses модуля frxDCtrl.pas: если программист решил работать с формами диалога, то пусть будет доступен и контрол TfrxDBLookupComboBox.

ИМХО, масса вопросов у людей сразу отпадет.

Если есть опасения, что модуль frxCustomDB ну о-о-о-чень уж утяжелит программу (или еще какие опасения) - то внести объявление frxCustomDB в особый компонент палитры Delphi (какой-нибудь TfrxDBDialologControls - по примеру TfrxDialologControls).

2. Вот и глюк.

Источники данных я формирую в рантайме в своей программе:
var
  frepDS: TfrxDBDataset;
begin
...
  frepDS := TfrxDBDataset.Create(nil);
задаю им и именам полей "русские" имена:
frepDS.UserName := ...
frepDS.FieldAliases.Add(...)
и передаю в отчет:
  DataSets.Add(frepDS)

Все красиво, все замечательно, пользователи довольны. Особенно русскоязычные. :)

Когда в дизайнере отчета в форме диалога создаею компонент класса TfrxDBLookupComboBox и для него используется такой "русифицированный" источник данных - то тоже все работает.
Глюк происходит сразу же после preview:

Project ... raised exception class EDatabaseError with message 'TpFIBDataSet_Collect_85: Поле 'Наименование улицы' не найдено.


TpFIBDataSet_Collect_85 - это имя моего "физического набора данных", а 'Наименование улицы' - "русифицированное" имя Lookup - поля.

Если же совместно с TfrxDBLookupComboBox использовать обычные, "не-алиас" поля - то все ОК.

Нельзя ли исправить ситуацию?

Спасибо.

Комментарии

  • отредактировано 16:43
    Ну, раз тут все молчат, по глюку я отписался здесь.

    Там же разместил и багофикс.
  • отредактировано 16:43
    Похоже, я тут сам с собой общаюсь.
    Ничего нового, мда...

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

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