Home General

Migrating project to Delphi XE

edited December 2011 in General
I am migrating a project from Delphi 2007 / ReportBuilder 10 to Delphi
XE / ReportBuilder 14 and am having an issue involving TeeChart and
Fast Cube.

I am thinking that there is some issue between ReportBuilder and Fast
Cube trying to link with TeeChart.

At first I had a problem with the following message when trying to
compile the project:

[DCC Error] E1026 File not found: 'TeeStringsEditor.DFM'
[DCC Error] E1026 File not found: 'TeeBackImage.DFM'
[DCC Error] E1026 File not found: 'TeeEmbossEditor.DFM'
[DCC Error] E1026 File not found: 'TeeMargins.DFM'
[DCC Error] E1026 File not found: 'TeeMouseCursor.DFM'
Failed

However, after I installed the latest release of ReportBuilder, that
error went away and the project compiled fine.

When I go into ReportBuilder designer, I do not see any Chart component
on the toolbar like I see in the application with ReportBuilder 10 and
Delphi 2007. When trying to access the Fast Cube (a product from Fast
Reports), I get the error:

Class TBarSeries not found

Searching the internet suggests either there are packages from older
versions of TeeChart present, or that I just need to register each
component. My effort to register them has not been successful because
I do not know what units to use in order to do that.

I have tried running rbTeePackageBuilder.

Fast Report support is very slow to respond and I am not making headway
for the last several days with them. I am thinking there is a possible
conflict between how Fast Cube and ReportBuilder tries to tie to the
TeeChart that comes standard with Delphi XE. Does anybody have any
idea how I can get moving forward on this?

--

Comments

  • edited December 2011
    Hi David,

    Open the Delphi XE ide and select the Component | Install Packages...
    option from the main menu. In the list check to see if there is an
    entry for "ReportBuilder TeeChart Components". If there is, make sure
    it is checked. If not, try to manually install it by adding the
    \RBuilder\Lib\dclRBC1415.bpl package.

    If this gives an error, try performing a corrupt install cleanup and
    reinstall ReportBuilder.

    http://www.digital-metaphors.com/rbWiki/General/Installation/Cleaning_Up_a_Corrupt_Install

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2011
    The package "ReportBuilder TeeChart 9 Components" is there and checked.
    There also is a package named "TeeChart Standard 9 Components" which is
    checked.

  • edited December 2011
    > The package "ReportBuilder TeeChart 9 Components" is there and checked.

    Now if you open the designer in a new project, is the TeeChart component
    still missing at design-time?

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2011
    Interesting. If I create a new application and drop a report component
    on it, then double click that component to bring up the designer, the
    Chart component is there, right where it is suppose to be.

    The project I am porting over has an area with a report explorer where
    the user can add their own reports, and if I start a new report there
    within the application, a clean designer appears but the chart
    component is not there. It is there on the one compiled under Delphi
    2007.

    Any idea how I can fix this? Do I need to change a compiler setting or
    something, or is the issue related to changes with Unicode in Delphi XE?


  • edited December 2011
    At runtime you need to be sure to register the TeeChart component with
    ReportBuilder to use it in the designer. See the following article on
    the registration of components.

    http://www.digital-metaphors.com/rbWiki/End-User/Fundamentals/Registration_of_Components

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2011
    Hi Nico. Thank you so much for bearing with me in this.

    Apparently in my efforts to track down why the project would not
    compile, I had disabled the {$Define TeeChart} directive in a
    ReportBuilder unit in order to see whether the initial compiler linking
    error was from a ReportBuilder unit or the FastCube unit. I was
    distracted by phone calls and the end of my business day, so the next
    day when I went back to work and the project compiled, I forgot that it
    compiled because I had disabled this directive. Sorry for my
    absent-mindedness in this.

    So now that I enable the TeeChart directive so that the unit will use
    units ppChrt, ppChrtDP, ppChrtUI, I am back to not being able to
    compile the project. The error message at the point of linking the
    units is:

    [DCC Error] E1026 File not found: 'TeeStringsEditor.DFM'
    [DCC Error] E1026 File not found: 'TeeBackImage.DFM'
    [DCC Error] E1026 File not found: 'TeeEmbossEditor.DFM'
    [DCC Error] E1026 File not found: 'TeeMargins.DFM'
    [DCC Error] E1026 File not found: 'TeeMouseCursor.DFM'
    Failed

    How can I get past this problem?

  • edited December 2011
    Hi David,

    It looks as though Steema did not include these files with the version
    of TeeChart included with Delphi. If you would like to use the end-user
    designer with TeeChart you will either need to build your application
    with runtime packages or purchase a registered copy of TeeChart.

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2011
    I don't use the chart features enough to warrant buying it, so I guess
    I will learn to use packages. I have never built apps with packages
    before, so if you have any or anyone else has any good tips about it,
    or can link me to a very thorough tutorial about it, I would appreciate
    that.

    Is distributing multiple BPL's the only way, or is there a way to
    create a container BPL of all the BPL's needed so that I would only
    have to distribute one BPL with my application?


  • edited December 2011
    Hi David,

    In the project options of your application, under the "Packages"
    section, there is an checkbox to build with runtime packages. Once
    clicked, you will see a list of runtime packages to be used during a
    build. You can likely remove many of these as you only need the
    TeeChart packages. These .bpl files will then need to be deployed with
    your application.

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2011
    From your answer, I surmise that any packages removed from the package
    list would be included in the EXE. Is that correct?

    So by checking to compile with packages, it is not an all or nothing
    situation. I can choose which packages will be distributed with the
    application and which will be compiled into the exe. Am I
    understanding this right?

    If so, one more question if I may. Is there an easy way to find the
    name of a package for a particular object or unit?


  • edited December 2011
    > any packages removed from the package list would be included in the EXE.

    Correct.


    Correct.


    For ReportBuilder we build with the Tee, TeeUI, and TeeDB packages.
    This should be enough to get you up and running. If you find that you
    need more features that are not included with the .dcu files provided,
    you may need add more.

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2011
    Hi Nico. Thanks for the answers! I think this is going to be easier
    than I originally had thought.

    I am still wondering, though, how I can track down which package holds
    certain routines. There are about 90 packages in the list for this
    project. If at a later date I want to move other packages to being
    runtime packages, how can I know what package name to include? For
    example, I can usually find the unit for a routine by right clicking
    and choosing Find Declaration. Is there a way to do something like
    this to find the package that would include the unit?

    David Miller wrote:

  • edited January 2012
    Hi David,

    Sorry for the late reply,

    I believe if (after you build) you select the Project | Information for
    option from the Delphi main menu, it will give a list of
    all the packages used during that build. You can then use this list to
    remove any un-needed packages from the list.

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.