Jump to content
Joe Sansalone

Is it possible to compile with just a .dcp? instead of DCUs or *.pas?

Recommended Posts

Since a *.dcp has the compiled units of a package, is it possible to have only 

the *.dcp and be able to compile a project that uses the units of that package?

(without DCUs or PAS files)

 

curious

 

When is the DCP file used?

Share this post


Link to post

Sometimes there are packages that have no design-time components.

I don't need to install such a package in the IDE, correct?

Share this post


Link to post

No. Probably you even cannot if these packages are compiled as runtime-only.

In fact you will rarely have a need to compile your application with any designtime package unless the author missed to separate the designtime part from the runtime part.

Note, that you have to deploy all directly and indirectly used runtime packages with your application if you compile it with runtime packages.

 

To better answer your question: 

20 hours ago, Joe Sansalone said:

 

When is the DCP file used?

The DCP file for a BPL package is what you reference in the requires section of a package project file. It allows the using package to see all the units inside the package and f.i. link to the contained routines. The DCP itself also contains the name of the BPL file - usually with the LIBSUFFIX. The difference of a unit contained in a DCP file and a DCU file is that the DCU is linked into the compiled package or application, while the DCP provides the entry points to the BPL.

Share this post


Link to post

Ok. Thanks.

 

I noticed that some packages are installed without any components.

And they are not used by other packages.

Example:  AWS SDK (from GetIt).

 

In a case like AWS SDK, the package doesn't need to be installed, right?

If compiling without runtime packages, we are accessing DCUs or PAS files.

In the case of compiling with runtime packages, we simply need access to the bpl/dcp files.

 

Why are those packages installed?

 

Share this post


Link to post
17 hours ago, Joe Sansalone said:

Why are those packages installed?

I don't know, but having packages besides pas and/or dcu files can be necessary (or just convenient) when compiling with packages. Especially when libraries are not provided with all source files (not sure about this one), you need the bpl/dcp files.

 

You can find more information about that in this blog post: Appercept’s New AWS SDK For Delphi, Available With RAD Studio And Delphi Enterprise and Architect

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×