Home DADE

NexusDB2 & Dade Plugin

edited December 2007 in DADE
When I update ReportBuilder & my database, NexusDB, I have to recompile the
Dade plugin for ReportBuilder. The plugin being distributed by Digital
Metaphors is not the same as the plugin being distributed by NexusDB. Which
one should I be using?

NexusDB has:
daNexusDB.pas - 16 kb (12/17/2007)
rbNexusDB75.dpk (12/17/2007)
rbNexusDB76.dpk "
rbNexusDB77.dpk "

ReportBuilder has:
daNexusDB.pas - 18 kb (4/25/2006)
rbNexusDB10105.dpk (12/17/2007)

I am using ReportBuilder Server & Enterprise version 10.07 Build 2 and
NexusDB
version 2.07.03 with Delphi 2007 Version 11.0.2804.9245.

David Miller

Comments

  • edited December 2007
    I need some direction on getting ReportBuilder to work with NexusDB.

    When I build and try to install the package rbNexusDB10105.dpk found in the
    EndUser Databases folder, I get an access violation. When I build and try
    to install the package rbNexusDB77.bpl distributed by NexusDB in their
    ReportBuilder Dade folder, I get an error regarding a procedure entry point.


    The error message I get when I try to install the ReportBuilder distribution
    of rbNexusDB10105.bpl is:

    Access violation at address 166C3293. Read of address 0000006C.

    Details:
    (00162293){ } [166C3293]
    [04906A65]{exceptiondiag100.bpl}
    JclSynch.TJclMultiReadExclusiveWrite.BeginWrite (Line 1015, "JclSynch.pas" +
    47) + $11
    [200073CD]{rtl100.bpl } System.FinalizeUnits (Line 11256, "sys\system.pas"
    + 20) + $0
    [2000744A]{rtl100.bpl } System.InitUnits (Line 11402, "sys\system.pas" +
    26) + $0
    [200076D4]{rtl100.bpl } System.@InitWideStrings (Line 11756,
    "sys\system.pas" + 7) + $0
    [20007435]{rtl100.bpl } System.InitUnits (Line 11397, "sys\system.pas" +
    21) + $0
    [20007076]{rtl100.bpl } System.@HandleFinallyInternal (Line 10617,
    "sys\system.pas" + 15) + $0
    [200074A6]{rtl100.bpl } System.@PackageLoad (Line 11418, "sys\system.pas" +
    8) + $0
    [2001A193]{rtl100.bpl } SysUtils.InitializePackage (Line 16132,
    "sys\sysutils.pas" + 4) + $0
    [2001A2D7]{rtl100.bpl } SysUtils.LoadPackage (Line 16182,
    "sys\sysutils.pas" + 18) + $5
    [2165CCFB]{delphicoreide100.bpl} PasCppPakMgr.TIDEDesignPackage.ClearModules
    (Line 714, "PasCppPakMgr.pas" + 14) + $10
    [2093A148]{coreide100.bpl} PakLoad.TPackage.DoLoadPackage (Line 143,
    "PakLoad.pas" + 0) + $8
    [2093A2BD]{coreide100.bpl} PakLoad.TPackage.Load (Line 217, "PakLoad.pas" +
    7) + $7
    [20A090A9]{coreide100.bpl} PakMgr.TDesignPackage.Load (Line 575,
    "PakMgr.pas" + 2) + $2
    [2165D0B8]{delphicoreide100.bpl} PasCppPakMgr.TIDEDesignPackage.Load (Line
    829, "PasCppPakMgr.pas" + 4) + $3
    [2000680A]{rtl100.bpl } System.TObject.CleanupInstance (Line 8936,
    "sys\system.pas" + 10) + $0
    [20008CBF]{rtl100.bpl } System.@FinalizeArray (Line 15233, "sys\system.pas"
    + 99) + $0
    [20008BD4]{rtl100.bpl } System.@FinalizeRecord (Line 15048,
    "sys\system.pas" + 19) + $0
    [2000680A]{rtl100.bpl } System.TObject.CleanupInstance (Line 8936,
    "sys\system.pas" + 10) + $0
    [20003DC4]{rtl100.bpl } System.@FreeMem (Line 2699, "sys\system.pas" + 2) +
    $0
    [20006754]{rtl100.bpl } System.TObject.FreeInstance (Line 8813,
    "sys\system.pas" + 2) + $2
    [20006B86]{rtl100.bpl } System.@ClassDestroy (Line 9513, "sys\system.pas" +
    0) + $2
    [20034E46]{rtl100.bpl } Classes.TStringList.Destroy (Line 4938,
    "common\Classes.pas" + 7) + $6
    [20003DC4]{rtl100.bpl } System.@FreeMem (Line 2699, "sys\system.pas" + 2) +
    $0
    [20007A19]{rtl100.bpl } System.@LStrArrayClr (Line 12266, "sys\system.pas"
    + 16) + $0
    [2165E70D]{delphicoreide100.bpl} PasCppPakMgr.TProfileData.LoadPackageCache
    (Line 1450, "PasCppPakMgr.pas" + 119) + $2D
    [20006BA9]{rtl100.bpl } System.@AfterConstruction (Line 9520,
    "sys\system.pas" + 2) + $5
    [2165CE9D]{delphicoreide100.bpl} PasCppPakMgr.TIDEDesignPackage.DelayLoad
    (Line 749, "PasCppPakMgr.pas" + 11) + $4
    [2166F6D8]{delphicoreide100.bpl} PakList.TPackageListItem.LoadWait (Line
    789, "PakList.pas" + 3) + $4
    [2166F65C]{delphicoreide100.bpl} PakList.TPackageListItem.LoadDesignPackage
    (Line 767, "PakList.pas" + 15) + $5
    [2166EC67]{delphicoreide100.bpl} PakList.TPackageListItem.SetIsInstalled
    (Line 533, "PakList.pas" + 7) + $3
    [2166EA3B]{delphicoreide100.bpl} PakList.TPackageList.AddPackage (Line 447,
    "PakList.pas" + 13) + $5
    [2167A35A]{delphicoreide100.bpl}
    BasePasProjOpts.TProjOptsManager.InstallPackage (Line 2170,
    "BasePasProjOpts.pas" + 8) + $5
    [2167E067]{delphicoreide100.bpl}
    BasePasProjOpts.TProjectOptions.InstallPackage (Line 3175,
    "BasePasProjOpts.pas" + 0) + $3
    [216A2BF5]{delphicoreide100.bpl}
    PasMgr.TPascalPackageCodeUpdater.InstallPackage (Line 11092, "PasMgr.pas" +
    17) + $19
    [216699E5]{delphicoreide100.bpl}
    PkgContainers.TStdPackageProjectContainer.CommandHandler (Line 151,
    "PkgContainers.pas" + 5) + $5
    [209F21A5]{coreide100.bpl} Containers.TStdContainer.CommandHandler (Line
    3069, "Containers.pas" + 1) + $17
    [201305B3]{vcl100.bpl } Menus.TMenuItem.Click (Line 2282, "Menus.pas" + 14)
    + $8
    [20131ADB]{vcl100.bpl } Menus.TMenu.DispatchCommand (Line 3007, "Menus.pas"
    + 5) + $2
    [20132C3A]{vcl100.bpl } Menus.TPopupList.WndProc (Line 3797, "Menus.pas" +
    4) + $E
    [20031FC4]{rtl100.bpl } Classes.TThreadList.UnlockList (Line 3359,
    "common\Classes.pas" + 0) + $4
    [200EBAA8]{vcl100.bpl } Graphics.FreeMemoryContexts (Line 5060,
    "Graphics.pas" + 12) + $5
    [2013FD9C]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073,
    "Controls.pas" + 3) + $6
    [20132B89]{vcl100.bpl } Menus.TPopupList.MainWndProc (Line 3778,
    "Menus.pas" + 2) + $5
    [20040DD4]{rtl100.bpl } Classes.StdWndProc (Line 11583,
    "common\Classes.pas" + 8) + $0
    [201625D0]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8105,
    "Forms.pas" + 23) + $1
    [2016260A]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124,
    "Forms.pas" + 1) + $4
    [201628FF]{vcl100.bpl } Forms.TApplication.Run (Line 8223, "Forms.pas" +
    20) + $3
    [00422976]{bds.exe } bds.bds (Line 195, "" + 7) + $7
    ===============================

    The error message I get when I try to install the NexusDB distribution of
    rbNexusDB77.bpl is:

    The procedure entry point
    @Nxsddatadictionary@TnxFieldsDescriptor@SetField$qqripvt2
    could not be located in the dynamic link library NexusDB207sd110.bpl.

    Details:
    [2001A2BF]{rtl100.bpl } SysUtils.LoadPackage (Line 16176,
    "sys\sysutils.pas" + 12) + $36
    [2093A148]{coreide100.bpl} PakLoad.TPackage.DoLoadPackage (Line 143,
    "PakLoad.pas" + 0) + $8
    [2093A2BD]{coreide100.bpl} PakLoad.TPackage.Load (Line 217, "PakLoad.pas" +
    7) + $7
    [20A090A9]{coreide100.bpl} PakMgr.TDesignPackage.Load (Line 575,
    "PakMgr.pas" + 2) + $2
    [2165D0B8]{delphicoreide100.bpl} PasCppPakMgr.TIDEDesignPackage.Load (Line
    829, "PasCppPakMgr.pas" + 4) + $3
    [20054037]{rtl100.bpl } Registry.TRegistry.GetKey (Line 654,
    "common\Registry.pas" + 5) + $1D
    [2005404C]{rtl100.bpl } Registry.TRegistry.GetKey (Line 655,
    "common\Registry.pas" + 6) + $10
    [20034BA1]{rtl100.bpl } Classes.TStrings.GetStrictDelimiter (Line 4849,
    "common\Classes.pas" + 2) + $4
    [200353DB]{rtl100.bpl } Classes.TStringList.SetUpdateState (Line 5171,
    "common\Classes.pas" + 0) + $F
    [200338AD]{rtl100.bpl } Classes.TStrings.EndUpdate (Line 4352,
    "common\Classes.pas" + 1) + $A
    [20034AFF]{rtl100.bpl } Classes.TStrings.SetDelimitedText (Line 4821,
    "common\Classes.pas" + 57) + $3
    [20034B1C]{rtl100.bpl } Classes.TStrings.SetDelimitedText (Line 4823,
    "common\Classes.pas" + 59) + $10
    [20003DC4]{rtl100.bpl } System.@FreeMem (Line 2699, "sys\system.pas" + 2) +
    $0
    [20007A19]{rtl100.bpl } System.@LStrArrayClr (Line 12266, "sys\system.pas"
    + 16) + $0
    [2165E70D]{delphicoreide100.bpl} PasCppPakMgr.TProfileData.LoadPackageCache
    (Line 1450, "PasCppPakMgr.pas" + 119) + $2D
    [20006BA9]{rtl100.bpl } System.@AfterConstruction (Line 9520,
    "sys\system.pas" + 2) + $5
    [2165CE9D]{delphicoreide100.bpl} PasCppPakMgr.TIDEDesignPackage.DelayLoad
    (Line 749, "PasCppPakMgr.pas" + 11) + $4
    [2166F6D8]{delphicoreide100.bpl} PakList.TPackageListItem.LoadWait (Line
    789, "PakList.pas" + 3) + $4
    [2166F65C]{delphicoreide100.bpl} PakList.TPackageListItem.LoadDesignPackage
    (Line 767, "PakList.pas" + 15) + $5
    [2166EC67]{delphicoreide100.bpl} PakList.TPackageListItem.SetIsInstalled
    (Line 533, "PakList.pas" + 7) + $3
    [2166ECA1]{delphicoreide100.bpl} PakList.TPackageListItem.SetIsInstalled
    (Line 540, "PakList.pas" + 14) + $5
    [2166EA3B]{delphicoreide100.bpl} PakList.TPackageList.AddPackage (Line 447,
    "PakList.pas" + 13) + $5
    [2167A35A]{delphicoreide100.bpl}
    BasePasProjOpts.TProjOptsManager.InstallPackage (Line 2170,
    "BasePasProjOpts.pas" + 8) + $5
    [2167E067]{delphicoreide100.bpl}
    BasePasProjOpts.TProjectOptions.InstallPackage (Line 3175,
    "BasePasProjOpts.pas" + 0) + $3
    [216A2BF5]{delphicoreide100.bpl}
    PasMgr.TPascalPackageCodeUpdater.InstallPackage (Line 11092, "PasMgr.pas" +
    17) + $19
    [216699E5]{delphicoreide100.bpl}
    PkgContainers.TStdPackageProjectContainer.CommandHandler (Line 151,
    "PkgContainers.pas" + 5) + $5
    [209F21A5]{coreide100.bpl} Containers.TStdContainer.CommandHandler (Line
    3069, "Containers.pas" + 1) + $17
    [201305B3]{vcl100.bpl } Menus.TMenuItem.Click (Line 2282, "Menus.pas" + 14)
    + $8
    [20131ADB]{vcl100.bpl } Menus.TMenu.DispatchCommand (Line 3007, "Menus.pas"
    + 5) + $2
    [20132C3A]{vcl100.bpl } Menus.TPopupList.WndProc (Line 3797, "Menus.pas" +
    4) + $E
    [20031FC4]{rtl100.bpl } Classes.TThreadList.UnlockList (Line 3359,
    "common\Classes.pas" + 0) + $4
    [200EBAA8]{vcl100.bpl } Graphics.FreeMemoryContexts (Line 5060,
    "Graphics.pas" + 12) + $5
    [2013FD9C]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073,
    "Controls.pas" + 3) + $6
    [20132B89]{vcl100.bpl } Menus.TPopupList.MainWndProc (Line 3778,
    "Menus.pas" + 2) + $5
    [20040DD4]{rtl100.bpl } Classes.StdWndProc (Line 11583,
    "common\Classes.pas" + 8) + $0
    [201625D0]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8105,
    "Forms.pas" + 23) + $1
    [2016260A]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124,
    "Forms.pas" + 1) + $4
    [201628FF]{vcl100.bpl } Forms.TApplication.Run (Line 8223, "Forms.pas" +
    20) + $3
    [00422976]{bds.exe } bds.bds (Line 195, "" + 7) + $7
  • edited December 2007
    Hi David,

    1. Please use the nexus plugin included with the installation of
    ReportBuilder. rbNexus77 implies that it is to be used with ReportBuilder 7
    and Delphi 7.

    2. Open the rbNexusDB10105.dpk and be sure the proper NexusDB files are
    included in the requires clause for the version of NexusDB you currently
    use.

    3. Be sure you have the \RBuilder\Demos\4. EndUser Databases\NexusDB\...
    directory in your library path before building and installing the package.

    --
    Regards,

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

    Best Regards,

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

    I have followed the instructions in the ReadMe.doc in that folder. I copied
    the files to the $(Delphi)\RBuilder\Lib folder, changed my Package Output
    and DCP output directories to point to that folder (Tools / Options /
    Environment Options / Delphi Options / Library - Win32), opened the dpk
    file, and changed the NexusDBxxx file names. It builds / compiles fine, but
    I get an access violation when I try to install it into the IDE. (I am
    using ReportBuilder Server & Enterprise version 10.07 Build 2 and NexusDB
    version 2.07.03 with Delphi 2007 Version 11.0.2804.9245.)

    Following is what my rbNexusDB10105.dpk file looks like after I have edited
    it:

    package rbNexusDB10105;

    {$R *.res}
    {$ASSERTIONS ON}
    {$BOOLEVAL OFF}
    {$DEBUGINFO ON}
    {$EXTENDEDSYNTAX ON}
    {$IMPORTEDDATA ON}
    {$IOCHECKS ON}
    {$LOCALSYMBOLS ON}
    {$LONGSTRINGS ON}
    {$OPENSTRINGS ON}
    {$OPTIMIZATION OFF}
    {$OVERFLOWCHECKS ON}
    {$RANGECHECKS ON}
    {$REFERENCEINFO OFF}
    {$SAFEDIVIDE OFF}
    {$STACKFRAMES ON}
    {$TYPEDADDRESS OFF}
    {$VARSTRINGCHECKS ON}
    {$WRITEABLECONST ON}
    {$MINENUMSIZE 1}
    {$IMAGEBASE $400000}
    {$DESCRIPTION 'ReportBuilder Data Access for NexusDB'}
    {$IMPLICITBUILD OFF}

    requires
    rbRCL10105,
    rbDAD10105,
    rbDB10105,
    NexusDB207ll110,
    NexusDB207sd110,
    NexusDB207db110,
    NexusDB207sq110;

    contains
    daNexusDB in 'daNexusDB.pas';

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

  • edited December 2007
    Hi Nico. I finally got it to install.

    I moved the RBuilder\Lib path up to the top of my Library path and then it
    installed. Perhaps I had another version of the DCP in my public DCP folder
    which was being used instead of the DCP in the RBuilder\Lib folder.
    However, I had rebuilt another project prior to that, so maybe that had
    something to do with it. For whatever reason, it seems to be working fine
    now. Thanks for your help.
This discussion has been closed.