Joe Sansalone 6 Posted April 7, 2022 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
Uwe Raabe 2057 Posted April 7, 2022 Only when you compile with packages. 1 Share this post Link to post
Joe Sansalone 6 Posted April 7, 2022 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
Uwe Raabe 2057 Posted April 7, 2022 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
Joe Sansalone 6 Posted April 9, 2022 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
Uwe Raabe 2057 Posted April 10, 2022 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