VCL50 missing in Delphi 2007

Posted on 2008-10-30
Medium Priority
Last Modified: 2013-11-23
Hi All,

I have just installed Delphi 2007 on a new machine and have been trying to install some custom components that were written for us several years ago.  The component in question uses the vcl50 package.  When I click on the component in the Project Manager and choose install, I get a message saying "The runtime packages referenced by this project appear to include old packages.  Whould you like to convert the runtime packages list to reference new packages?"

It does not matter whether I choose yes or no here, I get an error saying:
[DCC Error] ESBWinTab.dpk(30): E2202 Required package 'vcl50' not found

I understand this was an old package from Delphi 5 and have managed to find reference that it should be in my windows/system directory.  Alas, it is not there, or in any folder on my machine.  

Could someone please tell me;
1.  What this message about runtime packages is actually telling me?
2.  What this package does (or did)?
3.  Where can I find it (online?) to be able to put it back on my machine?
4.  Or preferably, what package replaces it so I can upgrade my component.


Chris Reardon

Question by:rfur72
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 38

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 800 total points
ID: 22847803
look in the ESBWinTab.dpk file
in the requires section

delete the vcl50 package and add the current VCL package of Delphi 2007

Author Comment

ID: 22847907
Thanks for the quick reply!

I thought that might be the problem, but have tried both vcl70 and vcl100, which are the only two files of a similar name in my windows/system directory.  I gather, from other sources on the net, that vcl100 is the Delphi 2007 VCL package and am assuming that VCL70 is the package from teh Delphi 7 installation I have (will two versions cause problems?).

I am still getting the error message;
[DCC Error] ESBWinTab.dpk(30): E2202 Required package 'vcl100' not found.

Is it supposed to be as simple as changing the line;


which gives me the error, or do I have to do something else somewhere?

Alternatively I have found the file vcl.dcp file in the lib folder under the delphi install location.  Including this instead allows me to compile the package, but with warnings that;
[DCC Warning] esbtablet.pas(214): W1000 Symbol 'FreeObjectInstance' is deprecated
[DCC Warning] esbtablet.pas(316): W1000 Symbol 'MakeObjectInstance' is deprecated

I believe I can fix these by finding the replacements for these.  I just want to make sure vcl.dcp is the correct file before I continue.

Thanks again for your help.

Chris Reardon


Assisted Solution

dprochownik earned 1200 total points
ID: 22847965
The truth is that you don't have to add any VCL packages manually. After delete old VCL5, and compiling that dpk project, delphi will implicity add proper new VCL packages, and you can be sure it is the right one. You don't have to download VCL from network because it is integrated with delphi, you can not have delphi without VCL, unless you have deleted VCL manuall, but I'm not sure if there is such possinility.

Good luck
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.


Accepted Solution

rfur72 earned 0 total points
ID: 22848015
Thanks for your feedback.  

Deleting the


and recompiling has done the trick!  Just for reference (for anyone else reading this) the new lines that the compile process added were;


Thanks again.

Chris Reardon


Expert Comment

ID: 22848248
Some additional information that may help understand this and similar issues dealing with third-party component packages:
Delphi components involve two distinctly different packages. One contains runtime code and the other code that is only used at design time (by the Delphi IDE). The design time package will most likely have dependencies on the runtime package.
In this particular case where an upgrade was needed, trying to build the design time package prior to building the runtime package (with the proper dependencies) triggered the initial errors. It's always best to build the design time package first or, as in the final solution to this particular issue, edit both packages allowing Delphi to determine which to build first.
LVL 38

Expert Comment

by:Geert Gruwez
ID: 22848345
>>It's always best to build the design time package first or, as in the final solution to this particular issue, edit both packages allowing Delphi to determine which to build first.

i'm sure you mean the opposite
first build the runtime package
next the design time package
because the designtime package uses the runtime package

Author Comment

ID: 22863556
Thanks again.

Packages are not something I have ever had to play with before, but they certainly seem to have their uses once you understand them.

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
The viewer will learn how to use NetBeans IDE 8.0 for Windows to connect to a MySQL database. Open Services Panel: Create a new connection using New Connection Wizard: Create a test database called eetutorial: Create a new test tabel called ee…
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.
Suggested Courses

801 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question