FreeReport для Delphi 7.0 и выше

отредактировано 03:47 Раздел: FreeReport
Почему нет FreeReport для Delphi 7.0 и выше? Жаль, хорошая была вешь ;)

Комментарии

  • отредактировано 03:47
    Кстати, насколько мне известно, разница между 6 и семеркой Делфи не очень большая (или я ошибаюсь). Вопросик к знатокам, как адаптировать FreeReport от 6 версии к 7??? Доделаю ручками...
  • отредактировано 03:47
    Не-а, хватит юзать брошенные сторонние компоненты и зависить от чужого дяди. Пойду ковырять RTF, HTML и пр. Мне надо то таблицу распечатать...
  • отредактировано 03:47
    в FR.inc добавить:
    ==========

    {$IFDEF VER150} // Delphi 7.0
    {$DEFINE Delphi4}
    {$DEFINE Delphi5}
    {$DEFINE Delphi6}
    {$DEFINE Delphi7}
    {$ENDIF}

    {$IFDEF Delphi7}
    {$DEFINE RX_HIDE_PLATFORM_WARNINGS}
    {$DEFINE RX_HIDE_UNSAFE_WARNINGS}
    {$ENDIF}

    {$IFDEF RX_HIDE_UNSAFE_WARNINGS}
    {$warn Unsafe_Type off}
    {$warn Unsafe_Cast off}
    {$warn Unsafe_Code off}
    {$ENDIF}
    ==========


    FREEREP7.dpk
    ==========
    package FREEREP7;

    {$R 'FR_reg.dcr'}
    {$I FR.inc}

    {$DESCRIPTION 'FreeReport 2.32 Components'}
    {$ALIGN ON}
    {$ASSERTIONS ON}
    {$BOOLEVAL OFF}
    {$DEBUGINFO ON}
    {$EXTENDEDSYNTAX ON}
    {$IMPORTEDDATA ON}
    {$IOCHECKS ON}
    {$LOCALSYMBOLS ON}
    {$LONGSTRINGS ON}
    {$OPENSTRINGS ON}
    {$OPTIMIZATION ON}
    {$OVERFLOWCHECKS OFF}
    {$RANGECHECKS OFF}
    {$REFERENCEINFO ON}
    {$SAFEDIVIDE OFF}
    {$STACKFRAMES OFF}
    {$TYPEDADDRESS OFF}
    {$VARSTRINGCHECKS ON}
    {$WRITEABLECONST ON}
    {$MINENUMSIZE 1}
    {$IMAGEBASE $00400000}
    {$IMPLICITBUILD OFF}

    requires
    VCL,
    DESIGNIDE,
    VCLSMP
    {$IFDEF IBO}
    , IBO_D7
    {$ELSE}
    , VCLDB
    {$ENDIF}

    {$IFDEF TeeChart}, TEE {$ENDIF}
    {$IFDEF RX}, RXCTL7 {$ENDIF}
    {$IFDEF JPEG}, VCLJPG {$ENDIF}
    {$IFDEF BDE}, BDERTL {$ENDIF}
    {$IFDEF IBX}, IBEXPRESS {$ENDIF}
    {$IFDEF ADO}, ADORTL {$ENDIF};


    contains
    FR_reg in 'Fr_reg.pas',
    barcode in 'barcode.pas',
    fr_class in 'fr_class.pas',
    fr_const in 'fr_const.pas',
    fr_prntr in 'fr_prntr.pas',
    fr_pars in 'fr_pars.pas',
    fr_about in 'fr_about.pas',
    fr_barc in 'fr_barc.pas',
    fr_bnded in 'fr_bnded.pas',
    fr_btyp in 'fr_btyp.pas',
    {$IFDEF TeeChart}
    fr_chart in 'fr_chart.pas',
    {$ENDIF}
    fr_chbox in 'fr_chbox.pas',
    fr_color in 'fr_color.pas',
    fr_ctrls in 'fr_ctrls.pas',
    fr_dbop in 'fr_dbop.pas',
    fr_dbrel in 'fr_dbrel.pas',
    fr_dbset in 'fr_dbset.pas',
    fr_desgn in 'fr_desgn.pas',
    fr_dock in 'fr_dock.pas',
    fr_dopt in 'fr_dopt.pas',
    fr_dset in 'fr_dset.pas',
    fr_dsopt in 'fr_dsopt.pas',
    {$IFDEF SYNTMEMO}
    fr_sntxe in 'fr_sntxe.pas',
    {$ELSE}
    fr_edit in 'fr_edit.pas',
    {$ENDIF}
    fr_e_txt in 'fr_e_txt.pas',
    fr_e_rtf in 'fr_e_rtf.pas',
    fr_e_csv in 'fr_e_csv.pas',
    fr_e_htm in 'fr_e_htm.pas',
    fr_ev_ed in 'fr_ev_ed.pas',
    fr_flds in 'fr_flds.pas',
    fr_fmted in 'fr_fmted.pas',
    fr_gedit in 'fr_gedit.pas',
    fr_grped in 'fr_grped.pas',
    fr_hilit in 'fr_hilit.pas',
    fr_iflds in 'fr_iflds.pas',
    fr_insp in 'fr_insp.pas',
    fr_intrp in 'fr_intrp.pas',
    fr_newrp in 'fr_newrp.pas',
    fr_ole in 'fr_ole.pas',
    fr_pgopt in 'fr_pgopt.pas',
    fr_prdlg in 'fr_prdlg.pas',
    fr_progr in 'fr_progr.pas',
    fr_rich in 'fr_rich.pas',
    fr_rrect in 'fr_rrect.pas',
    {$IFDEF RX}
    fr_rxrtf in 'fr_rxrtf.pas',
    {$ENDIF}
    fr_shape in 'fr_shape.pas',
    fr_srch in 'fr_srch.pas',
    fr_templ in 'fr_templ.pas',
    fr_utils in 'fr_utils.pas',
    fr_var in 'fr_var.pas',
    fr_vared in 'fr_vared.pas',
    fr_vbnd in 'fr_vbnd.pas',
    fr_view in 'fr_view.pas';

    end.
    ==========

    ЗЫ Естественно, перед установкой FreeReport придется установить RX под D7 ;)
  • отредактировано 03:47
    2Shabal: Большое спасибо, но легче не стало ;) .

    D7 ругается на код из FR_Class:
    написал:
    GetCharacterPlacement(Canvas.Handle, PChar(str), BOOL(Length(str)),BOOL(nw), GCP, GCP_JUSTIFY + GCP_MAXEXTENT)
    Incompatible types: 'Integer' and 'LongBool'

    что за функция BOOL()? Нигде не нашел описание...
  • отредактировано 03:47
    BOOL - не функция, а тип. AFAIK, аналог LongBool. Лудше смотри декларацию GetCharacterPlacement и приводи соответствующий параметр к нужному типу..

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

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