Solved

VCL50 missing in Delphi 2007

Posted on 2008-10-30
7
2,907 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 36

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 200 total points
Comment Utility
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
Comment Utility
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
Comment Utility
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
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 

Accepted Solution

by:
rfur72 earned 0 total points
Comment Utility
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
Comment Utility
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 36

Expert Comment

by:Geert Gruwez
Comment Utility
>>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
Comment Utility
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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
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…

763 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now