Ошибка: Пустые заголовочные файлы

отредактировано 14:51 Раздел: FastReport 3.0
Windows XP, C++ Bulder 5, FR 3.16
Столкнулся с проблемой: при попытке обратиться к TfrxDataSetProperty компилятор
ругается на неопределенный класс. Выяснилось, что файл frxDesgnEditors.hpp не
содержит определений классов! А вот и причина - в файле frxDesgnEditors.pas
определения классов (после ключевого слова type) находятся в секции
implementation. Соответсвенно компилятор не генерирует никакого описания. После
перемещения в секцию interface проблема исчезает.
Но вопросы остаются.
1. Это что, так и задумано? Или все-таки ошибка?
2. В поставке FR 3.16 файлов, в которых ВСЕ описания типов и классов находятся
в секции implementation 26 штук. Файлов, в которых только ЧАСТЬ в
implementation - 72 штуки. Нужно ли править все такие файлы?
3. При регистрации редактора для поля типа TfrxDataFieldProperty в дизайнере
список доступных полей не выпадает. Переписал класс TfrxDataFieldProperty на
C++, при регистрации на этот класс - OK. В то же время список доступных
датасетов в классе TfrxDataSetProperty отображается нормально.

Кто-нибудь из разработчиков может мне руки выпрямить? Или хотя бы что-то
сказать на эту тему? И не здесь ли проблема моего предыдущего вопроса
"обработчики событий у DialogControls"?

Александр, ау!

Дайте же, пожалуйста, внятный рабочий пример custom dialog components на С++ с
созданием своих свойств и обработчиков событий. Я понимаю, что в Delphi все
работает как надо...
А таким, как я - ждать, пока Dexter выйдет?

Комментарии

  • отредактировано 14:51
    1) эти классы нужны только внутри файла, поэтому они в секции implementation.
    2) зачем?
    3) подозреваю, что код на C++ работать с паскалевским ядром не будет...
  • отредактировано September 2005
    AlexTZ написал:
    1) эти классы нужны только внутри файла, поэтому они в секции implementation.
    2) зачем?
    3) подозреваю, что код на C++ работать с паскалевским ядром не будет...
    Спасибо за ответ!
    1. Я же говорю, из кода на С++ ВООБЩЕ не виден класс TfrxDataSetProperty!
    Разве это нормально? Мне так не кажется...
    2. Затем, что 1.
    3. Вот здесь не понял. Повторюсь, frxDataFieldProperty - не работает,
    frxDataSetProperty работает. Можно подробнее, ЧТО именно не будет работать?
  • отредактировано 14:51
    Для чего Вам нужен TfrxDataSetProperty?
  • отредактировано 14:51
    AlexTZ написал:
    Для чего Вам нужен TfrxDataSetProperty?
    А разве я не должен его использовать при написании собственных Dialog Control как написано в документации? При регистрации редактора на свойство объекта?
  • отредактировано 14:51
    Но этот редактор уже зарегистрирован для всех св-в типа TfrxDataset! Ничего писать не надо.
  • отредактировано 14:51
    AlexTZ написал:
    Но этот редактор уже зарегистрирован для всех св-в типа TfrxDataset! Ничего писать не надо.
    В Delphi может быть. Но в C++ Builder не получается, пока я не сделаю это руками, а руками я это сделать не могу, пока класс не виден.
    Александр, мне бы ОЧЕНЬ хотелось увидеть рабочий пример диалогового контрола на С++. Я понимаю, что Вы видимо очень заняты, и все же.
    Там ведь даже TypeInfo так просто не получить...
    Пример хотя бы того же известного RxLookupEdit или стандартного DbLookupEdit.
    И чуть ниже есть мой вопрос про обработчики событий - в С++ это тоже не работает...
    У меня, по крайней мере.

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

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