Delphi XE4 "class not found" but compiles fine - delphi

The GUI for my company's main product was written in Delphi in the late '90's, and has been updated to Delphi 2007. I'm working with a group to update the Delphi 2007 to XE4.
We still use a number of components from ADL VCL (similar to DevExpress, but now defunct), but have not installed the entire package. Rather, we have the files we need located in a folder seperate from our project folder, and have the path to these files specified in:
Tools-Options-Library-browsing path
and
Project-Options-search path
When I open main, I get the error:
"TADLAboutBox not found. Ignore the error and continue?"
The unit "ADLAbout" that defines "ADLAboutBox" is declared in the uses clause in main.
Moreover, our project compiles just fine.
How can I get rid of these messages? What might be wrong?
Thanks very much for your advice.

The component is not installed in the IDE, so when you open a form that uses that component you get an error.
But the source to the component can be found so when you compile it will do that without problems.
To get rid of the error you must install the component in the IDE.

ADL VCL is not available for XE4, since it was discontinued some time before XE4 was released. If you have the ADL source code, and have ported it to XE4, then it's plausible that you may have some success.
The error message you describe is symptomatic of not having the design-time packages for the components installed. You'll need to build and install design-time packages for any components that you want to interact with at design-time.

Related

Can't add Action manager to Delphi 10.3.3 unit

I'm using Delphi 10.3.3. Today, I added a TActionManager to a form containing a TCheckList and set a few actions.
When I tried to compile, the IDE insisted on adding IDETheme.ActnCtrls to my Uses list, then failed to compile because it couldn't find the file.
I've been using Delphi since Borland Pascal, and this one is new to me.
What can I do? I've tried deleting, building instead of compiling, starting a new unit, a new project, restarting the IDE and starting a new project.
John Treder
Known issue in 10.3.3:
RSP-27035: [dcc32 Fatal Error] F2613 Unit 'IDETheme.ActnCtrls' not found.
Marco Cantu said:
Unfortunately there is a an incorrect dependency in the IDE. If you close the file unit from the IDE, and remove that uses statement with another editor, it should compile (from the IDE) and work correctly. We are looking into a solution
Patrick Premartin said:
il you add an empty unit named IDETheme.ActnCtrls to the project, you probably can compile without changing source file outside Delphi
A patch was released for the issue:
#30903: RAD Studio 10.3.3 IDE and VCL Patch

'designide' must be recompiled when installing DWScript on Delphi XE2

I'm running Delphi XE2 w/ update 3.
I've just checked out the read-only branch of DWScript from the svn repository. I try to install dwsLib.dpk from the DelphiXE2 folder but receive the following error:
[DCC Fatal Error] dwsLibRuntime.dpk(30): E2225 Never-build package 'designide' must be recompiled
I tried building dwsLibRuntime.dpk first, but I get an error about missing TdwsUnit component, so that doesn't work, either. I'm not having any luck finding contact info for the author, so am trying here.
Any advice would be greatly appreciated.
The short answer is: DWScript doesn't target Delphi XE2.
Quote:
DWScript lead platform is currently Delphi XE, compatibility with
Delphi 2009 & Delphi 2010 is maintained, but some features may be
restricted (RTTI f.i.).
You must fix the source code if you want it to work with Delphi XE2.
I.am using XE2 with the trunk code and it works fine. I loaded up each dpi (there are two) and built and installed the first. Then compile your code ensuring that you point to the source folders (there are at least three). Failing that I'll post you an innosetup exe that installs it into XE2 that I've made,

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.

Reportmanager and delphi 2010

does reportmanager (http://sourceforge.net/projects/reportman/) support delphi 2010?
Thanks
Alejandro Jourdan
It looks like the most recent download on SourceForge only has premade projects to compile native components up through Delphi 2009. I expect it should be easy enough to revise the D2009 project to compile under D2010.
Also, as you may know, you could use ReportManager with D2010 without having the native components at all.
You might get more complete and accurate answers in the Report Manager user group on Yahoo:
http://tech.groups.yahoo.com/group/reportman/
I managed to compile the latest 3.0 version with Delphi 2010 Professional. Not a really easy task.
In order to do so, you have to follow these steps:
Edit the .inc file and see if you can exclude unused libraries.
In my case I undefined IBX and used ZEOS for database.
Then you will get an error about IntPr being not defined. Replace it with Pointer.
You will get hundreds of FormatSettings not defined errors. You have to remove such identifier. I.e. go in search and replace and type: "FormatSettings." including the dot and in replace leave it blank. Repeat for the many files that will show the same error, or do a multi-file search and replace at once.
You will possibly get references to IBX units or packages even in case you removed it from the .inc file. You may just delete the offending lines.
You will get a nasty missing unit WinApi.Common... Remove it from the uses clauses, you don't have it.
At a certain point the above point will cause an undefined FOLDERID_Public.
Go to the const section of the offending file and add this:
FOLDERID_Public: TGUID = '{DFDF76A2-C82A-4D63-906A-5644AC457385}';
That should do it, now you are the proud owner of Report Manager 3.0!
Installed today in D2010 on XP without particolar problems.
First downloaded and installed ver. 2.9b executable file.
Second downloaded Delphi package, added source path to the library, opened and compiled group project file.
Received 3 errors (even the same error type): vcljpg Not Found.
Simply rename vcljpg with vclimg.
after that, compiled done, installed.

Cannot install components that worked under D7 in D2009

I have lots of components that worked perfectly under D7.
I managed to compile and install them by dragging them into the Delphi 2009 IDE.
However, when I try to use those components in a project, the compiler says it cannot find the source code of them.
Where I can enter the path to that library?
Solution:
I dragged and dropped the old DPK file in Delphi 2009. Then in project manager I choose “Build” an then “Install”.
Everything worked smoothly except that the applications that used the controls couldn't see its source.
Problem solved by adding the path into the Tool-Options-Library Win32.
Thanks to everybody and especially to Mohammed.
Have you added the source path of the components to your library path?
you can add it from Tools menu > Options > Library win 32 >Library path
If you've really installed them, then the compiler shouldn't need to find the source code. The compiler only needs the DCU files.
But if you've taken these components from Delphi 7, then you need to have the source code, because Delphi 7 DCU files are not compatible with Delphi 2009. (The only two versions ever that can use each other's DCU files are Delphi 2006 and Delphi 2007, and then only with certain restrictions.)
Trying to use DCU files from the wrong Delphi version will cause Delphi to try to recompile the units. The solution is not just to provide the path to the source code, though. If the units files haven't been compiled yet (and they obviously haven't if they're of the wrong Delphi version), then you haven't really installed anything. Installing components in Delphi has never involved dragging and dropping. Installing a component means installing the package that contains that component, and installing a package often means opening the DPK project file and then choosing the "install" command in the IDE.

Resources