Fr Studio и Visual Foxpro

отредактировано 16:16 Раздел: FastReport Studio
В FoxPro создаю объект FastReport.TfrxUserDataset и вижу у него только два свойства: Fields и Name.
Как в FoxPro создать свой UserDataset?

Комментарии

  • almanalman космополит
    отредактировано 16:16
    dim30ma10 написал: »
    В FoxPro создаю объект FastReport.TfrxUserDataset и вижу у него только два свойства: Fields и Name.
    Как в FoxPro создать свой UserDataset?

    Объект UserDataset должен быть определён в Вашем приложении, помимо свойств Fields и Name, он должен поддерживать обработку событий OnFirsrt, OnNext, OnPrior и OnGetValue, которые должны быть реализованы Вами в объекте UserDataset. Есть два способа непосредственной передачи данных в отчёт из пользовательского приложения, но, опасаюсь, они не совместимы с FoxPro. Поэтому для передачи данных из FoxPro приложения в генератор отчётов я рекомендую использовать временный DBF файл, т.е. генерировать данные в этом файле, а затем передавать сформированную базу генератору отчётов. После построения отчётов временный файл удалить.
  • отредактировано 16:16
    Из руководства программиста:
    interface IfrxComponent : IDispatch {
    HRESULT _stdcall GetObject(
    [in] int Index,
    [out, retval] IfrxComponent** Component);

    Этот метод возвращает интерфейс IfrxComponent на дочерний объект, по его индексу. Индекс – целое число, которое может принимать значение от нуля до количества дочерних объектов минус единицы.

    В Fisual FoxPro этот метод действительно возвращает что-то типа "объект", хотя доступ к его свойствам и методам никоим образом не удается получить! Как быть?
  • отредактировано 16:16
    Объект типа TfrxGroupHeader создан в режиме дизайнера. В программном режиме после загрузки файла отчета .fr3 пытаюсь получить доступ у его свойству Condition. Примерный код:
    oGroupHeader = oReport.FindObjectEx("GroupHeader1")
    oiGroupHeader = GETINTERFACE(oGroupHeader, "IfrxGroupHeader")
    *oiGroupHeader = GETINTERFACE(oGroupHeader, "IfrxDataBand")
    *oiGroupHeader = GETINTERFACE(oGroupHeader, "IfrxBand")

    Для любого из 3-х нижних операторов генерируется исключение "OLE error code 0x80004002: no such interface supported."
  • отредактировано April 2010
    Хотелось бы иметь возможность не в коде Script, а в программном файле Visual FoxPro иметь возможность пользоваться методом
    Report.Calc(const Expr: String), описанную в Fast Report 4.0. Очень важно при формированиии документа - показывать или не показывать соответсствующие поля в зависимости от результата выражения. Предоставление такого метода в FastReport Studio сделало бы программу гораздо более независимую от содержимого отчета. Как возможно это сделать?
    Или хотя бы иметь возможность доступа в FastReport Studio к событию OnAfterData (и соответственно значению переменой Value).
  • отредактировано 16:16
    Хотелось бы иметь доступ к переменным отчета не по имени, а по индексу в среде FastReport и Visual FoxPro

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

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