Errors trying to install JCL in Delphi Alexandria - delphi

I am attempting to install the JCL library into Delphi RAD Studio 11. Git placed the jcl tree in my Users directory (say C:\Users\xxx); I followed instructions and made sure I updated the modules, etc.
I then attempted to execute the install.bat file, located in the C:\Users\xxx\jcl\jcl directory. When I did that I got a message to the effect that my version of RAD Studio/Delphi does not support command line compiling. That's fine, I simply opened the JDIInstaller.bdsproj (located in the C:\Users\xxx\jcl\jcl\installer folder) with RAD Studio and built it, successfully.
I then tried running the project from within RAD Studio, but I couldn't, I got an error message telling me to shut down all running instances of Delphi. Instead, I ran the EXE file directly from the C:\Users\xxx\jcl\jcl\bin folder; it ran to completion and said the installation finished. So far, so good. I should note that the JCL installer set the BPL path to C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl and the DCP path to C:\Users\xxx\jcl\jcl\lib\d28\win32.
The issue is this: When I then go to open RAD Studio, I get a number of messages like below. The text of the error message is:
Can't load package C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\JclBaseExpert280.bpl.
The specified module could not be found.
Do you want to attempt to load this package the next time a package is loaded?
This dialog is repeated an additional six times (i.e. there are a total of seven messages). The file names are as follows (they all end with "Expert280.bpl", so I'm just giving the beginning part): Debug, FavoriteFolders, ProjectAnalysis, Repository, JCLSIMDView, JCLStackTraceViewer.
If I open Components->Install Packages in the RAD Studio IDE, the seven files appear in the Design Packages list, but unchecked. They all appear as "File C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl" followed by the specific file name.
I checked, and the files exist in that location, but I know from my research that the message can be misleading; i.e., the message is returned by Windows which may be looking for a support file.
I don't know where to go from here.
I should note that previously I attempted to install JCL/JVCL into RAD Studio 2010 and initially got the same error message, but solved it by using a more recent version of JCL. However, there IS no more recent version of JCL that I can find.
Of course, it may be this cannot be done; i.e. install JCL/JVCL into Alexandria. Any information whether this is the case and, if not, what I might try would be appreciated.

Related

What Is a .vrc file, how is is generated and can you remove it using the IDE?

I am trying to install a commercial component called JamShellBrowser but it will not install.
I have contacted the developer, but meanwhile I'd like to know:
What is a vrc file?
How is it produced?
Can it be controlled or modified with the Delphi XE4 IDE?
I checked the IDE's help but I could not find anything about vrc files and I searched for Delphi vrc and did not find anything that would help me.
The error message is:
Checking project dependencies...
Compiling JamShellDelphiXE4.dproj (Release, Win32)
brcc32 command line for "JamShellDelphiXE4.vrc"
c:\program files (x86)\embarcadero\rad studio\11.0\bin\cgrc.exe -c65001 JamShellDelphiXE4.vrc -foJamShellDelphiXE4.res
[BRCC32 Error] JamShellDelphiXE4.vrc(2): file not found: JamShellDelphiXE2_Icon.ico
Failed
Elapsed time: 00:00:00.1
I searched the components folders for an ico file, but there is none... thus the message, but even if I remove the line MAINICON ICON "JamShellDelphiXE2_Icon.ico" from the vrc file or even delete the vrc file it is automatically generated when I try to install.
I moved from Delphi 2010 to XE4 a few months ago and noticed the apparently new vrc file but I do not know what it is or how to handle these files.
A .vrc is a temporary file created by Delphi MSBuild process to compile resources files (.res) which will be linked in the final binary output. It is passed to CodeGear Resource Compiler/Binder (cgrc.exe) and deleted after the build process.
It doesn't appear anywhere in .dproj file. This behaviour is from BuildVersionResource target, imported from $(BDS)\Bin\CodeGear.Common.Targets. Look at this file (and at CodeGear.Delphi.Targets) if you want to get a better understanding of build process.
Removing <Icon_MainIcon> tag from .dproj it's not enough, as VERSIONINFO resources can also force the creation of .vrc file (I believe "vrc" stands for "Version Resource", although it is also used for main icon in applications).
In case of packages, Delphi always put version info in packages projects. The "include version information" IDE option is ignored with package projects.
So, if you (like me)
don't rely on Delphi IDE to set application main icon
don't rely on Delphi IDE to set version info resources; and
do manage to include your own resources files for everything
you can disable its creation entirely by setting the SkipResGeneration to true in your msbuild call. E.g.:
msbuild.exe myProject /t:Build /p:Config=Release /p:SkipResGeneration=true
However, this only works for MSBuild-based builds. I don't know how to do the same for builds from Delphi IDE.
Just open your #PROJECT#.dproj in any text editor file and find lines
<Icon_MainIcon>#PROJECT#_Icon.ico</Icon_MainIcon>
and delete them.
You will find one per Build target.
Save the file and you are done.
Edit: The original answer referred to the .dpr file, however note the section to edit is in the .dproj hence I've updated the the answer above to reflect this.
I believe this is a built in IDE behaviour of Delphi XE4 and XE5, possibly caused by an upgrade bug. Generation of VRC files is something that you can not disable except by removing the tags in the dproj file that cause it to be generated.
If there was a way to fix it or remove it, it might involve comparing your dproj file with another dproj file and looking for something that was appropriate only to a .dpr+.dproj Project that somehow got into your .dpk+.dproj project, like <Icon_MainIcon>.
It appears to be an intermediate file that is auto-generated when a .dpr+.dproj project has some version information which must be written out of the .dproj file, and into a temporary location and then compiled and linked into your application as a version info resource. However, I have also seen it get generated for a .dpk+.dproj project, and this mystifies me as well.
It also seems to contain a resource for your default application icon and version information, and packages do not normally have a versioninfo or application icon resource.
What I find to be possibly a BUG is that there is no UI in the Delphi IDE to let you set the Application Icon of a Package. Yet, I sometimes get a .VRC and an .ICO file. But I am not aware of a fix, other than to report the issue to Embarcadero Quality Central.
With a .dproj project, a .VRC intermediate file makes at least some sense. I see the following content: Version Info, Application Icon, and VCL Styles (ie AquaLightSlate.vsf) resource linkage.
this is a clarification...
I've just started to install several component libraries into Delphi RAD Studio XE5 that I've got installed in XE2 and XE4. When I try to Build most of them, I get this same error.
The problem isn't so much the .vrc file itself, it's this particular error:
[BRCC32 Error] <project_name>.vrc(2): file not found: <project_name>_Icon.ico
I can't figure out a way to bypass it, and I have no idea what it's looking for or where.
I tend to copy my component libs from one version to the next, opening them, building them, and installing them (ie. the ones that don't come with installers). I've never seen this happen in prior versions. However, this is the first time I've had RAD Studio installed; in the past I've just had Delphi. So perhaps it has something to do with having C++ installed as well?
I had to change my X.optset file to get this to work.
X being the name of your Delphi version you brought over these options from. Mine was PolyDelphiXE2.optset.
Once I corrected the name here no more funny compiling that brought in a different ico reference.

fast report class missing after update RAD XE2

I just did the update of RAD XE2 to the latest service pack. I can not compile my application using Fast reports stuff inside. The error at compile says "frxclass.dcu not found".
This seems to be a problem like
FAST REPORT ISSUE
Is this a bug of updateing XE2 or did I do something wrong while executing the update process ?
This problem happens with XE2 and XE3. I have FR professional with source and have done several installations each of which have suffered problems. I believe that it is an incompatibility between the included version of FR and the licenced version. My solution was thorough:
1. Go into control panel and delete any and all installations of FR.
2. Go to the program files folder and manually delete any FR folders.
3. Inside the Delphi IDE go into options, library and locate and delete any reference to fast report paths.
4. Go into the IDE Install Packages option and make sure that there are no references to FR packages.
5. Quit the IDE and now install FR using the supplied installer. When this completes you should be able to fire up the IDE fine without frClass errors.

Why Delphi says "Unit xxx compiled with a different version of yyy" if all my paths are correct?

First of all I would like to apologize for the question itself. I simply could not make anything better. Well, the question then follows with examples and detailed ...
I manually installed QuickReport Delphi 2006 from their sources. It is composed of two packages a "DesignTime" and a "RunTime".
My Delphi is configured to build the BPL files in "D:\BPL" and DCP files on "D:\DCP" for all packages compiled on my Delphi
The source code of QuickReport are in "D:\QuickReport" and their packages (design and runtime) are configured to save the compiled units (DCU) in the folder "D:\QuickReport\DCU." This was the only configuration done in the packages. Nothing is set up with different paths and, BPL and DCP files are placed correctly in the folders I've set up, as I mentioned earlier.
With these settings I was able to build and install QuickReport without problems (just a few compiler warnings, which I believe are normal). All QuickReport components appear in your palette in Delphi, which does not emit any error on start proving that the components are properly installed and all packages were found.
Now comes the test: I started a new win32 application, completely empty, just a blank form. Then it put a QuickReport component (TQuickRep). The first thing I noticed was that the unit "QuickRpt", which is automatically placed in the clause "uses" of the "interface" is underlined in red indicating that something is wrong.
When I perform a CTRL+ENTER in "QuickRpt" unit (uses clause), the Delphi finds the source file (.pas) correctly, which is in "D:\QuickReport" then I ran a BUILD ALL command and the following compilation error appeared:
[Pascal Fatal Error] Unit1.pas (7): F2051 Unit QuickRpt was compiled with a different version of QRExpr.TQREvElement
That's it!!!
This error is only happening with Quick Report. I have other third-party components installed using the same configuration as the paths and they all work properly.
Finally I was able to solve this problem. #RRUZ and another friend gave me the tip: An lost QuickRpt.dcu file on my system. There were a QuickRpt.res file also. I found them, but the place was very improbable to me: The delphi LIB folder!!!
Well, i have some clues about this bizarre thing.
Until Delphi 7, the QuickReport was shipped together with the IDE however, it was disabled by default. On that Delphi version, all we need to do is to register the bpl to gain full access to QuickReport!
On Delphi 2006, the QuickReport is not part of IDE and there are no BPL to register, however the guys at Borland forgotten to remove all files from the old QuickReport. The Delphi Lib Folder is one of the first folders to be checked on Delphi start, so, if there are old files there, new files on another place would be never compiled, generating the annoying error!
This problem may be present on Delphi 2005 too.

Delphi XE - F1027 Unit not found: 'System.pas' or binary equivalents (.dcu) upon Activation of trial version

I just purchased the full version of Delphi XE Architect after using the trial version for 30 days. I can't build anything, every time I go to build a project I get the error.
[DCC Fatal Error] MegaMainPrj.dpr(1): F1027 Unit not found: 'System.pas' or binary equivalents (.dcu)
A quick google said that the library paths were a problem and I compared what was given (in a previous stackoverflow question) with what I had in the registry, and it was identical.
What could be causing this?
EDIT: Immediatly after I get this error message the entire IDE crashes.
add this :
$(BDSLIB)\win32\release;
to your library path .
Make sure you have the environmental variables set properly (Tools->Options->Environmental Variables from the IDE's main menu):
BDS=D:\Embarcadero\RAD Studio\8.0
BDSCOMMONDIR=C:\Users\Public\Documents\RAD Studio\8.0
PLATFORM=Win32
These should all be set in the System Variables section, and should have been added by the installer. (Obviously, they should point to the installation location of your XE installation - mine is installed in D:\Embarcadero\RAD Studio\8.0, as you can see.)
EDIT: I see in your comment you installed in C:\Program Files - bad idea if you're running Windows Vista or Win7 or higher. You should try installing in a different location. You can also try running the IDE as Administrator (right-click shortcut in Start->All Programs->Embarcadero->RAD Studio XE->Delphi XE, choose "Run as Administrator" from context menu). Does this change anything?
Also, you can open a free support case at Embarcadero for installation-related issues. I'd first try reinstalling in another location (running the install as Administrator, putting it in another folder, and installing for all users); if that doesn't work, open a support case. You can also post to the Embarcadero Delphi Installation forums - you'll need to have already created a user account there first to log in.
C:\Embarcadero\RAD Studio\9.0\lib\win32\release
and
C:\Embarcadero\RAD Studio\9.0\lib\win32\debug
Both of these path have been to add in Delphi XE2 from IDE <<Tools->Options->Library->Library path>>
It's OK?
Goto Tools->Options->Library->Library path
and add $(BDSLIB)\win32\release
This worked in Delphi 10.2
When compiling using the command line compiler, so not from within the IDE, you can also get this error when the name of the build configuration is not "debug" and not "release".
It seems that, when using the command line compiler, it tries to find its dcus in a path under BDSLIB that it constructs using the configuration name.
I had this happening when using a configuration named ReleaseHA. Note: it was not a sub configuration under "release", but an extra configuration besides "debug" and "release".
Sometimes this error message occurs when we have duplicate libraries included.
Make sure that:
Tools->Options->Environmental Options->Library
and
Project->Options->Directories/Conditionals
Don't include the same paths...
Running as Administrator worked for me.

How to install Virtual Treeview?

Virtual treeview by Mike Lischke seems so popular on the web and as third party component. I just downloaded version 4.8.7 on my machine.
I have Delphi 2010 and Delphi 7.0 in 2 partitions.
Aftter clicking installer of virtual treeview, a log file prompts, saying it has been installed successfully.
I check Delphi 2010, yes, it is on component palette showing 3 controls.
But when I start Delphi 7.0, IDE prompts 'Can not load VirtualtreesD7.bpl...'. I ignore it, and find that Virtual treeview design time package is in list but UNCHECKED. If I try to check it, again it promts "Can not load virtualtreesD7...".
I search whole Disk and find a VirtualTreesD7D.bpl, and manually add it in design time package list. It is on palette with 3 controls.
I tested it quickly and exit Delphi 7.0. But when I restart Delphi 7.0, again it prompts "Can not load VirtualtreesD7.bpl...", it is again not on palatte and not Checked in design time package list.
This is very simple question. Can you let me know how to solve it?
Thank you very much in advance.
Edit:
Thanks for comments.
I tested your comments, but not work.
New problem:
If I uninstall virtual treeview by clicking unins000.exe and reinstall it only in Delphi 7.0, the installer prompts in the last screen ''...completed.." and no error prompts. When I start Delphi 7, the virtual treeview design time package is not in package list. This is even worse than the last time (last time it is in package list but not checked).
I check very carefully one line by one line of that log file, it says:
...
...
VirtualTreesD7.dpk(39)
VirtualTreesD7.dpk(39)
VirtualTreesD7.dpk(41)
VirtualTreesD7.dpk(43)
**VirtualTreesD7D.dpk(32) Fatal: Required package 'VirtualTreesD7' not found**
Why?
Why it does not successfully install and does not prompts the error in installation in the last install screen.
How to solve this "Fatal...not found" problem.
Thank you all for help.
New Edit: (Is this Answer?)
Thanks for your help and suggestion first.
I take 2 hours to test and find a possible solution. It works on my machine and it can be installed in Delphi 7.0.
Steps:
1. uninstall virtual treeview by clicking unins000.exe from Delphi 7.0 ( you can separately install virtual treeview in Delphi 2010)
2. clicking newly downloaded VirtualTreeview setup 4.8.7.exe, install it in Delphi 7 folder, do not install it in default...Rad..path. Important: INGNORE ALL ERROR PROMPTS DURING INSTALLATION (INCLUDING ERROR PROMPT IN THAT LARGE INSTALLATION LOG FILE).
3. Go to $\Virtual Treeview, right click VirtualTreesD7D.dpk, select Open with Delphi 32 development environment. A window prompts for you to compile. JUST CLICK COMPILE, DO NOT CLICK INSTALL.
4. Go to Component -> Install Packages. Go to $\Bpl folder and manually add VirtualTreesD7D.bpl into Design Package. The three controls will appear in Palette.
5. Go to folder $\Bpl and YOU MUST COPY VirtualTreesD7.bpl (NOT VirtualTreesD7D.bpl) INTO $\Bin folder.
6. Close Delphi 7 and restart it, you will find that this component is on Palette and in Package list, it is in Design package list and CHECKED.
I personally feel that the installer of Virtual treeview needs improvements to free users from such trouble and test in installation. The installer needs rewrite.
This is my case of installation. I do not know if it can be generalized to all users.
Thank you all.
The IDE uses LoadLibrary (actually, LoadPackage) to load packages for components that are installed. This means that it follows the same logic for where it looks for files that LoadLibrary does.
The problem is that the IDE can't find the package using LoadLibrary's search logic - see the Remarks section here. So the solution is to add the folder to Delphi's Library Path (Tools->Options->Environment Options->Delphi Options->Library - Win32), or move it somewhere on the system PATH.
Ensure you have the folder where the virtualtrees.pas (\source) is located in the environment search path.
You may manually need to install the *.dpk file for Delphi 7. Open the D7.dpk, compile then open and install the D7D.dpk (Runtime first then Designtime package)
Haven't done it on Delphi2010 w/ Delphi7, but installing with just Delphi7 is fine.
*edited

Resources