Solved

VCL50 missing in Delphi 2007

Posted on 2008-10-30
7
2,952 Views
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.

Thanks

Chris Reardon

0
Comment
Question by:rfur72
7 Comments
 
LVL 37

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 200 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
0
 

Author Comment

by:rfur72
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;
requires
  vcl50;

to
requires
  vcl100;

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


 
0
 
LVL 4

Assisted Solution

by:dprochownik
dprochownik earned 300 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
0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 

Accepted Solution

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

Deleting the

requires
  vcl50;

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

requires
  vcl,
  rtl;

Thanks again.

Chris Reardon

0
 
LVL 1

Expert Comment

by:leei
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.
0
 
LVL 37

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
0
 

Author Comment

by:rfur72
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.
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Create Database on Android via Delphi dbExpress 3 90
Unable to start eclipse ? 17 141
Delphi Yen format 3 33
firemonkey Android Listview Sort items 7 5
Update (December 2011): Since this article was published, the things have changed for good for Android native developers. The Sequoyah Project (http://www.eclipse.org/sequoyah/) automates most of the tasks discussed in this article. You can even fin…
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…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
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…

786 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