Problem with "Include file search path" in Delphi 2010 - delphi

I've installed Delphi 2010 and Quick report 2010 recently. the problem is finding DCU files of the quick report packages when i'm trying to compile the project although the path of the installed package of Quick Report has been added to "Include file search path" of resource compile.
How i can specify the path of installed packages in new version of Delphi when that doesn't work?

Make sure that the path is already present in the compiler search path (not resource compiler!) for the project or the library path of the IDE.

In Delphi 2010:
Go to Options | Environment Options | Delphi Options | Library - Win32
And add DCU or PAS files path of QuickReport to "Library Path".

Related

Delphi Jedi components manual installation

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).

Procedure Entry Point invalid in JVCL (jclsysinfo)

I've installed latest Jedi VCL for Delphi (JVCL 3.49) using install.bat (from jcl and jvcl folders respectively), without errors. The problem is when I run Delphi 2010, I get a lot of errors about invalid entry point in jvcl bpls.
entry point invalid #jclsysinfo#jclcheckwinversion$qqrri in JvCore140.pbl
I get this error in all Jv*.bpl files, and always with the same entry point.
I've checked I don't have old jcl/jvcl files or jv*.bpl/jc*.bpl files. I don't know how to fix this problem. Any sugestion?
When compiling packages in Delphi (as the JCL and JVCL do) that require other packages at compiletime the compiler uses the dcp files for the required packages and not the bpl files of those packages.
For example the JvCore.dpk has Jcl and JclVcl in its required clause among some RTL packages. That means when compiling it will take Jcl.dcp and JclVcl.dcp to get the information where the procedures/classes it needs are located in the bpl.
These dcp files are most of the time (unless specified differently - see next paragraph) located in the DCP folder which is right next to the BPL folder.
If the dcp it uses is not compatible to the bpl it finds when loading you will get those errors. Make sure you don't have any old bpl and dcp files anywhere that the compiler may find. In the JCL setup you can specify where it puts those while the JVCL setup puts them into the same directory as the dcu files.
Additionally if you have different Delphi versions installed it can get worse because usually the dcp files don't have a suffix. If the directory it puts those happens to be in the PATH variable wrong versions might be found. However the DCP directory is not put into PATH by the Delphi installation but only the BPL directory.
(While I've been writing this, Stefan Glienke has posted an answer which has a lot more useful info in it, but I'll post it anyway because it's easy to test if you're only interested in one Delphi version)
I'm not sure the following will work for you because I don't have D2010
installed to test it against. You could check it out quite quickly by
trying it using only one .Dpk file in step 4.
Note that I always set the Output paths for BPL,
DCP and DCU files to a Lib2 folder under the Delphi version's install folder.
That way I know where they all are so it's easier to tidy up if something goes
wrong.
I uninstalled the JCL and JVCL and deleted all the JV*.BPL, .DCP and
.DCU files
I ran the JCL install .bat, and ignored all the prompts to add folders to
the system PATH, because my Lib2 folder is already on the PATH.
In the folder for my Delphi version below JVCL\Packages, I edited all the
.Dpk files to use my Lib2 folder for the BPL, DCP and DCU output files. this is
a bit tedious but only needs to be done once and can be made easier by doing it
using a keyboard macro.
Then, using the IDE package tool, compiled and installed all the JVCL .Dpk
files that have "Design" in their names and that I want to install.
They all installed without ther error message you are getting.

Installing Indy - which folders should be added to Delphi's Library list?

The directions on how to install Indy10 are (at least to me) a little vague in one place, and I'm hoping someone here can clarify a little.
The installation directions (From http://www.indyproject.org/sockets/Docs/Indy10Installation.en.aspx) state:
After Compiling
In your Indy directory you should now see some compiled .dcu files.
Open the IDE and go to the "Tools > Environment options > Select
Library" dialog tab. Now add the path to your files into the filepath
collection. Click Ok.
My Indy10 folder does not have any .dcu files in the root folder. It does have a bunch of DCU files in C:\code\Indy10\Output\DCU\Win32\Debug ... does this mean I should be adding C:\code\Indy10\Output\DCU\Win32\Debug to my library path? (And for that matter, should I be building Indy in Debug or Release mode, or does it matter?) Are there any other subfolders I need to add to the library path? Indy 10 has a much more complex folder structure than Indy 9 and I'm not convinced I've configured things "correctly".
Nearly every component package I install I touch the project options for the runtime package(s) to get a clean install.
Project Options
General Configuration
Output directory {componentpath}\lib\XE4\$(platform)\$(config)
Release Configuration
Output directory {componentpath}\lib\XE4\$(platform)
After that I compile the whole package for all target platforms in release and debug mode. Using a Build-Group is very useful to do that.
Now it is time to add the library paths (for each platform)
Library path {componentpath}\lib\XE4\$(platform)
Debug DCU path {componentpath}\lib\XE4\$(platform)\debug
Browse path all directories containing the source
In your own projects you can control which .dcu versions are used by setting the Use Debug-DCU option.

RAVE Report Error "dbrtl160.bpl missing"

When I run RAVE Reports Designer from an IDE (Delphi XE2) I get this error:
"The program can not start because dbrtl160.bpl missing from your computer. Try reinstalling the program to fix this problem"
However, in the Delphi XE2 folder the file dbrtl160.bpl exists.
What is going wrong here?
The file needs to be either in the same folder as your application, or a folder on the system PATH. The IDE uses it from it's own folder, but when your app (or in this case, RAVE) runs it's not in the IDE folder. The IDE usually adds the necessary RAVE folder to the PATH during installation, but if you've installed a RAVE update it could have been deleted or changed, or something else you've installed damaged thte PATH statement.
Delphi packages are just special DLLs, and they're loaded by LoadLibrary when your app starts. The rules for finding them are those that LoadLibrary uses, as well. The search order is specified in the Remarks section of the LoadLibrary documentation on MSDN.
if you using x64 windows, you must copy rave files to C:\Program Files\Embarcadero\RAD Studio\8.0\Rave...

Default Library Path

Prior to my problem, I attempted to install a component which required me to change my Library - Win32 library path. The installation did not work out so I left it. A few days ago, I ran Delphi to work on my project. I compiled the program but Delphi told me "Unit not found: 'Systems.pas' or binary equivalents (.dcu) so I changed the Library path to: C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\lib. I was then able to compile my program but when I clicked a button, none of the code ran!
I went back to check my syntax and everything was correct hence why I was able to compile my program (note: my code and program was left untouched for weeks). I then tried to re-install Delphi (2 times) expecting that the Library Path would fix, but it didn't.
After the failed attempts of trying to restore default settings I did some researched on stackoverflow but I could still not find the answer. Topics I've come across:
Delphi XE : Lost Library path
Delphi can't find System.dcu; what should the default path settings be?
I added the ShowMessage function to test if it worked and it did so I really have no clue what the problem is. However I am still suspecting that my Library Path is incorrect.
What do you guys think the problem could be?
my code
or my IDE library path
Note: current library path = C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\lib
Also, how can I fix this problem?
I guess the linked answer should solve you problem. If you need specific data for Delphi 2010, here is the registry file for 64-bit Windows (for 32-bit Windows the registry branch should be [HKEY_LOCAL_MACHINE\SOFTWARE\CodeGear\BDS\7.0\Library]):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CodeGear\BDS\7.0\Library]
"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\\Indy\\Indy10\\Core;$(BDS)\\source\\Indy\\Indy10\\System;$(BDS)\\source\\Indy\\Indy10\\Protocols;$(BDS)\\source\\database;"
"Debug DCU Path"="$(BDS)\\lib\\Debug;$(BDS)\\Lib\\Debug\\Indy10;$(BDS)\\RaveReports\\Lib"
"Language Library Path"="$(BDS)\\lib\\$(LANGDIR);(BDS)\\lib\\$(LANGDIR)\\Indy10"
"Package DCP Output"="$(BDSCOMMONDIR)\\Dcp"
"Package DPL Output"="$(BDSCOMMONDIR)\\Bpl"
"Package Search Path"="$(BDSCOMMONDIR)\\Bpl"
"Translated Debug Library Path"="$(BDS)\\lib\\$(LANGDIR)\\Debug"
"Translated Library Path"="$(BDS)\\lib\\$(LANGDIR)"
"Translated Resource Path"="$(BDS)\\lib\\$(LANGDIR)"
"Search Path"="$(BDS)\\lib;$(BDSUSERDIR)\\Imports;$(BDS)\\Imports;$(BDS)\\Lib\\Indy10;$(BDSCOMMONDIR)\\Dcp;$(BDS)\\include;$(BDS)\\RaveReports\\Lib"
If plain import of the above registry file does not help:
Reboot and try again;
If the problem persists, delete
Software\CodeGear\BDS\7.0 branches from both
HKEY_CURRENT_USER\ and HKEY_LOCAL_MACHINE\ hives and reinstall
Delphi;
Never run automatic installation procedure for unknown
component packages on your working system.

Resources