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

BDS2006 and reportbuilder

edited March 2007 in General
Hi,

We are switching from delphi 5 (RB7.x) to BDS2006 (RB10.x). We did some
modifications in some reportbuilder sources ppCtrls and ppPrnDev. We copied
added both sources from the reportbuilder sources folder to our application
folder and apllied the changes we wanted. Both units were added to our
application (project) in delphi. In delphi 5 this worked ok, now when we do
the same in BDS2006 we always get the error message '... is complied with a
different version...' on compile, if we remove both report builder units
from our project and delete the dcu files in the application folder
everything works Ok again. What's the appropriate way to get, using modified
report builder units in a project, this working?

Greetings,
Filip Moons

Comments

  • edited March 2007
    Hi Filip,

    There have been numerous changes and fixes to the ppCtrls and ppPrnDev files
    since RB 7. We strongly recommend against using the old source files with
    RB 10. My suggestion would be to try to manually add the changes you've
    already made to the new source files included with RB 10. You could perhaps
    load both files in a difference viewer and merge your changes quickly.

    What types of changes have you made? Note that if you altered the interface
    section of any of the RB classes, you will not be able to use RAP as we do
    not provide the source for that feature.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited March 2007
    Sure we copied both new RB10 units to the application folder and applied the
    changes from the past on the new RB10 units. When i put some breakpoint on
    the added code in the new units (put in application folder) the changed code
    is neglected unless i put the '....\ReportBuilder\Sources' in the search
    path but then i get the '... is compiled with a different version...' on
    compile because off the complied dcu files from both report builder units in
    the application folder (I think). Do we need to changes any paths in Delphi
    when using changed report builder sources?

    We didn't altered any interface section of the RB classes, we just did some
    very minor code changes in these units
    function TppDBText.GetTheText: String;
    function TppDBCalc.GetTheText: String;
    procedure TppPrinterDevice.ReceivePage(aPage: TppPage);

    Greetings,
    Filip Moons

  • edited March 2007
    Hi Filip,

    What is the exact error you are receiving? Be sure you only have source
    files in your library path (i.e. \RBuilder\Source\...). Also, try replacing
    the source files in the \RBuilder\Source directory with the changed files so
    there is only one copy of the source file for the application to use.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited March 2007
    Hi,

    -I removed my 2 alteredl RB units from my application
    -I deleted my 2 alteredl RB dcu files from my application folder
    -I added 'C:\Program Files\Borland\BDS\4.0\RBuilder\Source' to the BDS2006
    libarypath
    -Compiling my application results in '[Pascal Fatal Error]
    FCT33110u.pas(26): F2051 Unit raParser was compiled with a different version
    of ppRTTI.TraRTTIClassRegistry'. If i remove 'C:\Program
    Files\Borland\BDS\4.0\RBuilder\Source' from the BDS2006 libarypath everyting
    works again.

    Just adding 'C:\Program Files\Borland\BDS\4.0\RBuilder\Source' results in
    compiling errors without any altered any RB units added to my application.
    How can i force RB to compile its units when i do a build of my application
    project without getting the '[Pascal Fatal Error] FCT33110u.pas(26): F2051
    Unit raParser was compiled with a different version of
    ppRTTI.TraRTTIClassRegistry' on compile?

    Greetings,
    Filip Moons

  • edited March 2007
    In my testing with RB 10.05 Server and Delphi 2006, I am able to
    successfully compile off of the RBuilder\Source directory. Let me know the
    exact version and edition of ReportBuilder are you using and I'll install a
    fresh copy on my machine and see if I can recreate the error.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited March 2007
    RB 10.05 Entreprise Edition
    BDS2006: Version 10.0.2558.35231 Update 2, Hotfixed





  • edited March 2007
    I installed RB Enterprise 10.05 and was able to successfully build with the
    installed source. You may have a corrupt installation. Try reinstalling
    ReportBuilder, then remove the \RBuilder\Lib directory from your library
    path, and add \RBuilder\Source. Then try to compile and run one of the RB
    demos in the \RBuilder\Demos directory. If this works correctly, try
    compiling your application.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited March 2007
    I have both the '\RBuilder\Lib' and the '\RBuilder\Source' path added to
    the library path when the compile error occurs? Do i have to remove the lib
    path when i add the source path and vica versa?

  • edited March 2007
    It shouldn't make a difference however it is good practice to remove one if
    you want to use the other so you know for sure which files Delphi is using
    to build your app.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited March 2007
    Uninstalled RB10.05
    Rebooted
    Manually deleted 'C:\Program Files\Borland\BDS\4.0\RBuilder'
    Checked for RB BPLs: Deleted RB*.BPL in C:\WINDOWS\system32
    Checked for pp*.pas
    Installed RB10.05
    Launched Delpi 2006: 'Can't load package C:\Program
    Files\Borland\BDS\4.0\lib\dclRBC1010.bpl.....Do you want to attempt to load
    this package the next time a project is loaded? Yes/No'

    Uninstalled and reinstalled RB10.05
    Launched Delpi 2006 same error message 'Can't load package C:\Program
    Files\Borland\BDS\4.0\lib\dclRBC1010.bpl.....Do you want to attempt to load
    this package the next time a project is loaded? Yes/No'

    Replaced 'C:\Program Files\Borland\BDS\4.0\RBuilder\Lib' to 'C:\Program
    Files\Borland\BDS\4.0\RBuilder\Source' in Tools|Options|Delphi
    Options|Library - Win32|Library path

    Opened 'C:\Program Files\Borland\BDS\4.0\RBuilder\Demos\0. RAP\1.
    Main\RAP.bdsproj'
    Compile&Build Ok

    Opened 'C:\Program Files\Borland\BDS\4.0\RBuilder\Demos\1.
    Reports\Demo.bdsproj'
    Compile&Build Ok

    Opened our application project
    Same '[Pascal Fatal Error]

    unit FCT33110u;

    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    _FrmSBProcDruk, FCT33110D, ppVar, ppFilDev, ppPrnDev, ppArchiv, Db,
    dxmdaset, ppDBPipe, ppParameter, ppModule, ppBands, ppCtrls,
    ppRegion, ppMemo, ppReport, ppPrnabl, ppClass, ppStrtch, ppSubRpt,
    ppCache, ppProd, cxCurrencyEdit, cxTextEdit, ExtCtrls, RzBorder, ppDB,
    ppRelatv, ppDBJIT, ppComm, ppEndUsr, TXComp, cxStyles, cxContainer,
    cxEdit, cxDropDownEdit, cxImageComboBox, cxMaskEdit, cxCalendar,
    StdCtrls, cxControls, cxSplitter, RzStatus, RzPanel, Buttons, ActButton,
    ActPanel, cxGraphics, raCodMod; <<<<<<<<<<

    Opened 'C:\Program Files\Borland\BDS\4.0\RBuilder\Demos\0. RAP\1.
    Main\RAP.bdsproj'

    added raCodMod to interface|uses

    Same compile error

    [Pascal Fatal Error] rpMain.pas(24): F2051 Unit raIDE was compiled with a
    different version of ppDsgner.TppDesignerWindow

  • edited March 2007
    In some of my dfms i find, is this rap only related? We don't use rap for
    now, if i delete these line(s) from my dfms will this have impact on the
    report printouts?

    object raCodeModule1: TraCodeModule
    ProgramStream = {00}
    end



  • edited March 2007
    This is getting really annoying. I removed all TraCodeModule from my dfms
    in the whole project. Attached log file shows only found files in
    '\__history\' subfolders. Now when i compile i get '[Pascal Fatal Error]
    LEXAct.dpr(861): F2051 Unit raParser was compiled with a different version
    of ppRTTI.TraRTTIClassRegistry' LEXAct.dpr is the project file??????????

    I want this fixed so i can do some reaaaal work!

  • edited March 2007
    Hi Filip,

    Please send all attachments to support@digital-metaphors.com.

    If you are certain you are not using any RAP in your project, then there
    should be no need for the raCodMod file to be brought in. Do a find in
    files on the TraCodeModule class to be sure there are no more references to
    it.

    Note that since you are still getting these errors with your project and
    they are not showing up with the demos, it indicates that your application
    is trying to reference a file (perhaps an old .dcu or .pas file) that has a
    different interface than the one included with ReportBuilder. Re-Check your
    application paths to be sure there is nothing old being pulled in.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited March 2007
    Add 'ReportBuilder\Source' to librarypath

    Open 'C:\Program Files\Borland\BDS\4.0\RBuilder\Demos\0. RAP\1.
    Main\RAP.bdsproj' or any other demo project.

    add raCodMod to interface|uses

    Compile

    Same compile error
    [Pascal Fatal Error] rpMain.pas(24): F2051 Unit raIDE was compiled with a
    different version of ppDsgner.TppDesignerWindow

    This means when 'ReportBuilder\Source' added to librarypath you can not use
    RAP in BDS2006. The same thing worked in Delphi5 with RB7.x

  • edited March 2007
    Hi Filip,

    I'm very sorry but I'm at a loss. Since the release of RB 10.05 we have had
    no other customers report any problems using the provided source with RAP
    (raCodMod). raCodMod is essential for RAP to function and is automatically
    added to just about any report using RAP. In my testing with a new
    installation of RB 10.05 Enterprise for Delphi 2006 Update 2 with Hotfixes,
    I am able to compile and run the RAP demo even if I add raCodMod to the uses
    clause and I am able to create a simple app using RAP that has raCodMod
    brought in automatically. If there is no difference between the code we are
    executing, there must be something different between our environments that
    is causing the error on your machine.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited March 2007
    Add 'ReportBuilder\Source' to librarypath

    Open 'C:\Program Files\Borland\BDS\4.0\RBuilder\Demos\0. RAP\1.
    Main\RAP.bdsproj' or any other demo project.

    Delphi Librarypath:
    $(BDS)\lib;$(BDS)\Imports;$(BDS)\Lib\Indy10;$(DXVCL)\Library\Delphi10;C:\Program
    Files\Borland\BDS\4.0\RBuilder\Source

    Delphi Browsing path:
    $(BDS)\source\Win32\vcl;$(BDS)\source\Win32\rtl\common;$(BDS)\source\Win32\rtl\sys;$(BDS)\source\Win32\rtl\win;$(BDS)\source\Win32\WebSnap;$(BDS)\source\ToolsAPI;$(BDS)\source\Win32\IBX;$(BDS)\source\Win32\Internet;$(BDS)\source\Win32\Property
    Editors;$(BDS)\source\Win32\soap;$(BDS)\source\win32\xml;$(BDS)\source\Win32\db;$(BDS)\source\Win32\Decision
    Cube;$(BDS)\source\Indy10

    Rap.dpr|Options|Directories/Conditionals: All empty except for Unit aliases:
    WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;

    compile

    [Pascal Fatal Error] RAP.dpr(15): F2051 Unit raParser was compiled with a
    different version of ppRTTI.TraRTTIClassRegistry

    I get the same compile errors on 2 different machines. You should get the
    same results as me unless you are compiling on a machine which has access to
    the rap relating units which we don't have. If not well then maybe i'm doing
    something wrong but i don't have a clue what is going wrong.
    If i add the 'ReportBuilder\Source' to the delphi librarypath > Compile RAP
    Demo > Compile Error
    If i add the 'ReportBuilder\Lib' to the delphi librarypath > Compile RAP
    Demo > Compile Ok

  • edited March 2007
    Hi Nico,

    I finally figured out was wrong (More or less). Our application project file
    was seriously messed up. I created a new application project, readded all
    forms/units and everything (Compile/Build) is working fine again. Sorry for
    wasting your time.

    Greetings,
    Filip Moons

  • edited March 2007
    Hi Filip,

    Not a problem. I'm happy to hear you got it working :).

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

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