Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Delphi7 TeeChart 7.07 and RB 10.7

edited October 2007 in General
I can not get the TeeChart package dclRBC107.bpl to install. Does anyone
know how to get this to install?

Comments

  • edited October 2007
    Read RBuilder\TeeChart\ReadMe.doc and follow the instructions. The RB 10
    TeeChart Package Builder utility can build and install the packages with a
    press of a button. :)

    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited October 2007
    FWIW: I don't include the TChart package in reports for several reasons:

    1) Supporting the BPL just became too much work. I wanted the freedom of not
    having to maintain packages that went between the two.

    2) I only configure one chart--the one in my appliation. Images from my app
    are copied to the ones in the reports--which are TppImages with special
    names that indiciate which chart to use.

    I've posted the code samples to this in time past, but it is below if anyone
    wants to see it.

    Edward Dressel
    Team DM

    procedure AssignChartToGraphic(aChart: TChart; const aRect: TRect; aGraphic:
    TGraphic);
    var
    lBitmap: TBitmap;
    lGBT: TGridBandTool;
    lMetafile: TMetafile;
    lMS: TMemoryStream;
    lCustomChart: TCustomChart;
    I: Integer;
    lChart : TChart;
    begin
    lChart := TChart.Create(nil);
    lMS := TMemoryStream.Create;
    try
    lChart.Assign(aChart);
    SaveChartToStream(aChart, lMS, True);
    lMS.Position := 0;

    lCustomChart := TCustomChart(lChart);
    LoadChartFromStream(lCustomChart, lMS);
    lChart := TChart(lCustomChart);

    for I :=0 to lChart.SeriesCount-1 do
    begin
    lChart.Series[I].OnGetMarkText := aChart.Series[I].OnGetMarkText;
    if (lChart.Series[I] is TPieSeries) then
    TPieSeries(lChart.Series[I]).Circled := True;
    end;

    lChart.OnGetAxisLabel := aChart.OnGetAxisLabel;
    lChart.OnBeforeDrawSeries := aChart.OnBeforeDrawSeries;
    lChart.Gradient.Visible := False;
    lChart.Color := clWhite;
    lChart.BevelOuter := bvNone;
    for I := 0 to lChart.Tools.Count - 1 do // Iterate
    if lChart.Tools.Items[I] is TGridBandTool then
    begin
    lGBT := TGridBandTool(lChart.Tools.Items[I]);
    if ((lGBT.Band1.Transparency + lGBT.Band2.Transparency) > 0) then
    begin
    lGBT.Band1.Color := $00DADADA;
    lGBT.Band2.Color := clWhite;
    end;
    end;

    lChart.Backwall.Transparent := False;
    lChart.Backwall.Visible := ChartShowBackWall;
    lChart.AxisBehind := ChartShowBackWall;
    lChart.AxisVisible := ChartShowBackWall;

    if aGraphic is TMetafile then
    begin
    lMetafile := lChart.TeeCreateMetafile(False, aRect);
    try
    aGraphic.Assign(lMetafile);
    {$ifdef CodeSite}
    CodeSite.Send('Chart Metafile', lMetafile);
    {$endif}
    finally
    lMetafile.Free;
    end;
    end
    else
    begin
    lBitmap := lChart.TeeCreateBitmap(clWhite, aRect);
    try
    aGraphic.Assign(lBitmap);
    {$ifdef CodeSite}
    CodeSite.Send('Chart Bitmap', lBitmap);
    {$endif}
    finally
    lBitmap.Free;
    end;
    end;

    finally
    lMS.Free;
    lChart.Free;
    end;
    end;
This discussion has been closed.