Subject | A fix to get FreeReports 2.32 to work with IBO4 |
---|---|
Author | Mark Pickersgill |
Post date | 2004-02-25T11:00:12Z |
Hello,
For those interested in getting the FreeReports 2.32 components to
work with IBO4, here's how I got it cranked up. (hopefully not too
off-topic).
I have emailed the fixes to the Free/Fast Report maintainers, however they're
certainly not the quickest to answer their mail :(
I have only tested this briefly with Delphi 5 Pro with a simple
report. My main interest was to be able to play with the reporting
components with native IBO controls and my own data.
cheers
Mark
---- start fixes ---
1 - In fr.inc replace the line:
{$DEFINE IBO}
with:
{$DEFINE IBO}
// Also uncomment the following line if you have IB_Objects ver4.0+.
{$DEFINE IBO4}
2 - In FreeRep5.dpk replace the line:
IBO_D5,
with:
{$IFDEF IBO4}
IBO40CRT_D5,
IBO40FRT_D5,
IBO40TRT_D5,
IBO40VRT_D5,
IBO40XRT_D5,
{$ELSE}
IBO_D5,
{$ENDIF}
3 - In fr_class.pas the code to see if the dataset that a field
is contained in is Active, is not compatible with IBO4's
TIB_Column properties.
3a - On line 5411 replace:
if not F.DataSet.Active then
with:
if not DSet.Active then
3b - On line 5412 replace:
F.DataSet.Open;
with:
DSet.Open;
3c - On line 5430 replace:
if not F.DataSet.Active then
with:
if not D.Active then
3d - On line 5431 replace:
F.DataSet.Open;
with:
D.Open;
---- end fixes ---
For those interested in getting the FreeReports 2.32 components to
work with IBO4, here's how I got it cranked up. (hopefully not too
off-topic).
I have emailed the fixes to the Free/Fast Report maintainers, however they're
certainly not the quickest to answer their mail :(
I have only tested this briefly with Delphi 5 Pro with a simple
report. My main interest was to be able to play with the reporting
components with native IBO controls and my own data.
cheers
Mark
---- start fixes ---
1 - In fr.inc replace the line:
{$DEFINE IBO}
with:
{$DEFINE IBO}
// Also uncomment the following line if you have IB_Objects ver4.0+.
{$DEFINE IBO4}
2 - In FreeRep5.dpk replace the line:
IBO_D5,
with:
{$IFDEF IBO4}
IBO40CRT_D5,
IBO40FRT_D5,
IBO40TRT_D5,
IBO40VRT_D5,
IBO40XRT_D5,
{$ELSE}
IBO_D5,
{$ENDIF}
3 - In fr_class.pas the code to see if the dataset that a field
is contained in is Active, is not compatible with IBO4's
TIB_Column properties.
3a - On line 5411 replace:
if not F.DataSet.Active then
with:
if not DSet.Active then
3b - On line 5412 replace:
F.DataSet.Open;
with:
DSet.Open;
3c - On line 5430 replace:
if not F.DataSet.Active then
with:
if not D.Active then
3d - On line 5431 replace:
F.DataSet.Open;
with:
D.Open;
---- end fixes ---