I have downloaded the latest build of the Delphi Spring Framework. As directed in the readme file, I ran Build.exe and selected my two versions of Delphi (XE5 and Seattle). In neither Delphi installation can I see that a package has been installed nor my library search path modified. What am I missing or is there something else I must do to install and use it?
Thanks in advance for your help.
There are no packages to install in Spring4D because only designtime packages are actually installed (as in they show up in the IDE). Everything the Build.exe does it compile the runtime packages for the selected Delphi versions and add the dcu folder to your library path (if you have checked that in the options).
The registry keys where it looks for the library path is specified in the Build.Settings.Compilers.ini (which are default values that every Delphi installation has).
Related
I'm using Delphi CE 10.4, and it has the DCC32.exe disabled line compilation.
I'm trying to manually install Jedi components, in the readme of JCL it says that it's needed to open and edit included file to customize options, in my case, source\include\jcld27win32.inc.
I'm starting to learn Delphi, and I didn't understand whats is it is necessary to do in this file, and didn't find videos showing a manual installation.
Someone who already installed this way could help me?
Manual Installation Although it is not recommended, a manual
installation is possible. You will have to manually configure options
for the library. That is done by modifying an included file. For each
tool you want to install the JCL in, repeat the following steps:
Open and edit included file to customize options: ... For Delphi 10.4 and C++Builder 10.4 Win32: source\include\jcld27win32.inc ...
In the IDE, open and compile package Jcl.dpk (or Jcl.bpk for C++Builder) located in a subdirectory of the "packages" directory
matching your version of the IDE. This package doesn't have to be
installed since it doesn't provide any components.
If you want to install experts, open package JclBaseExpert.dpk and compile it, then you can install all the experts you want (packages
are located in the same directory).
This issue is driving me crazy. I'm trying to compile and install The QR Designer from QuickReports 6. I have an issue just with the one package. When I right the package in the IDE > Install the IDE gives me:
Can't load package C:\xe10_3\QRDesign\Win32\Debug\dclqrd_DXE10_3.bpl.
The specified module could not be found.
But the exact file is there.
I've also tried installing it via the menu under Components > Install Packages and then choosing the BPL from there, with the same issue.
I've tried to use Process Monitor as on this post here to find the issue:
Delphi Can't load package the specified module cannot be found
I couldn't fix the issue, but what I did pick up from Process Monitor was that some process was looking for the package here:
Computer\HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Package Cache\dclqrd_DXE10_3.bpl
That key didn't exists. I tried manually creating the key, but that didn't do a thing.
Any ideas?
UPDATE
Here is the list of packages:
As you can see, dclqrd_DXE10_3 is dependant on two others. Which I already built and installed. I removed its references and re-added them again now, to make sure the references are sound. I guess its like Remy said, the Specified module not found is probably not referring to dclqrd_DXE10_3 although I don't know what other module it could be referring to.
To install a package successfully in IDE, follow the steps:
Open the dpk/dproj/groupproj file in IDE
Build the package(s) for Windows 32-bit platform.
IDE itself is a 32-bit applicaton, so it should match.
Normally, it will build all dependent/required packages
Check if all chain of BPL & DCP files are generated in package Output directory.
It defaults to $(BDSCOMMONDIR)\Bpl & Dcp folders, but can be changed individually for each Package in Settings.
PBL packages are like DLL files. In order to load them, it requires all dependent BPLs.
If you have custom package output paths:
Check if your DCP output path is included in Tools\Options\Language\Delphi\Library Library Path for Windows 32-bit platform
Check if no duplicates of outdated compiled packages in default $(BDSCOMMONDIR)\Bpl & Dcp directories
Add the paths to library source pas files in Tools\Options\Language\Delphi\Library Browsing path or Library path
In some specific cases, if the package requires some extra dll-s like DB Client libraries, check if these dlls are 32-bit and are loadable, like included in %path% environement variable.
Note, some libraries offers package installer tools, that automagically do all mentioned things for you.
Also, there are universal package installer tools for quick working environement setup in one click.
I don't know why this fixed my issue, but it did.
The output directories for the bpl and dcp was set to be $(Platform)\$(Config)
The project files for the different packages exists in the same folder so the above config was supposed to be the debug folder or the release folder. Why only this package was thrown off I still don't know, but since changing the above packages to have a fixed path suddenly I could now install dclqrd_DXE10_3.bpl.
Thank you all for helping.
I've uninstalled my RAD Studio 10.2.2 and installed 10.2.3 in my Win10 development VM. Along the way I uninstalled all the previous 3rd-party libs, including the Jedi GetIt packages, and per the instructions got rid of all the old Jedi source and DCP/DCLs. I'm attempting to install them back into 10.2.3 via GetIt. The JCL libs install fine, but when I try to install JVCL, the installation batch file hangs after compiling the installer and the VM comes to its knees. I rebooted, started taskmgr and watched as the batch file ran - it appears to go into a loop creating many instances of msgfmt. I've tried removing it all again, downloading and installing the 3.8 version myself and running the install batch file by itself, same problem; then backing up to the 3.6 version that had installed OK in 10.2.2, and it does the same thing. If I edit the batch file to skip the language-setup section, the batch file completes OK, but trying to re-run the GetIt update causes it to re-download and replace that batch file. :(
The installer does compile before the languages part of the batch file is reached, so I tried running the installer directly. I assume I'm not passing it cmd line info it needs, because it compiles the 64-bit libs fine but chokes immediately on compiling the 32-bit version of JvCore250.bpl with an unspecified compile error.
Anyone else run into this? Is a solution known?
Turns out to ultimately be a pathing problem. When multiple installations of the IDE exist on a machine (e.g. my VM has or previously had D2007, XE2 and 10.1 on it), the PATH environment variable can be too long - edit the PATH in the system to remove the old/stale paths. Then make sure that the library paths in the IDE includes $(BDSLIB)\$(PLATFORM)\release or you'll get "can't find RTL" when building the packages.
For me the problem is generated from the msgfmt.exe of dxgettext.
msgfmt.exe generates multilanguage messages, for a multilanguage support of jvcl installation.
For the specific problem of msgfmt.exe try to see this: dxgettext and Windows 10
I resolved the problem opened the install.bat file in jvcl folder, and I commented (with ::) every line where the msgfmt is executed.
Attention:
If you use getit I suppose you have to open the folder where jvcl is downloaded and search install.bat (I didn't use getit)
Instead I downloaded jvcl directly from github in my component folder, and I did what is written above in that folder.
Does anyone know how to update dUnit which comes with Delphi 2010 to the latest svn source code?
Steps
Goto http://sourceforge.net/projects/dunit/
Download the zip file (currently version 9.3.0)
Unpack to a folder of your choice
Use Components|Install packages to remove the current DUnit package bpl.
Compile and install (optional) the new version. Compilation is needed only if you want to install the design time wizards or if you do not build your projects using the source. Installation is only needed if you want to use the design time wizards. Read the various doc and readme files for further instructions.
Update your environment's library path and the search paths of projects using DUnit:
take out any references to $(BDS)\source\DUnit*
put in a reference to the src subfolder of where you installed the new version
Update
The latest version on sourceforge is 9.3.0, but that is not the latest DUnit version. To get the latest DUnit version, you can go to its SVN repository: https://dunit.svn.sourceforge.net/svnroot/dunit/trunk/
The are at 9.4.0 (revision 41 according to the top of the page, version found in readme-9.4.txt and release.ini).
The sources found there do not contain any packages for Delphi versions past D7, but as mentioned in my response to Serg, these packages are for the DUnitWizards which were contributed from outside the main DUnit project. To use DUnit, you don't need these wizards. In fact, DUnit itself does not have any packages!
I think you can still use the wizards (or should I say project/unit templates) that come standard with Delphi and just make sure that your library and search paths point to the new version... In fact, I know you can, because that is what I did a couple of days ago: use the File|New|Other|Unit test| project and unit templates that come standard with the IDE, but compile against the newest sources downloaded from SVN.
You can either unregister current DUnit package by removing its key from Registry:
HKCU\Software\CodeGear\BDS\7.0\Known IDE Packages\$(BDS)\Bin\unittestide140.bpl
Then download and install the new version from any folder you want, into the IDE as you install any other IDE package.
Or you build the new version, copy the generated BPL file to $(BDS)\bin\ folder, and its .DCU files to $(BDS)\Lib\ folder, and replace $(BDS)\Source\DUnit folder with the source folder you downloaded from SVN.
I needed to reinstall a package, DrRX.bpl. I removed it from the package list, and trying to install a newer version of the same package. I've replaced the old component's dir with the new one.
When I open the new DrRX.bpl and click install, I get the error
"Package C:\Program Files\Borland\BDS\3.0\components\rx work\output\DrRx.bpl cannot be installed because another package with the same basename is already loaded (DrRx.bpl)"
I cannot find any reference to DrRX in my package list, DrRX does not appear in the Tool Palette. How do I locate where Delphi thinks this is installed, and remove it, so I can reinstall the package?
You probably have an entry for this in your "Known Package" entry in your registry that is, for whatever reason, not working correctly.
Close RAD Studio.
Run REGEDIT.EXE and then go to
HKEY_CURRENT_USER\Software\Embarcadero\RADStudio\8.0\Known Packages
And see if there is an entry for DrRX.bpl. If there is, remove it, and try to install again.
What I have experienced myself many times is that after removing a package from the IDE, a reference remains in the Package Cache registry key under the Delphi registry key (e.g. HKEY_CURRENT_USER\CodeGear\BDS\7.0 for Delphi 2010). Though the package is no longer visible in the IDE, trying to install another package with the same name or a package containing a component with the same name causes errors until I delete the package that I uninstalled from the Package Cache registry key. It seems the cache is a bit too persistent.
Did you search the whole HD for others? Try that. If you find one, try to move/delete it. If you can't, then Delphi has got it.