Solved

Project

Posted on 2003-11-19
10
407 Views
Last Modified: 2010-04-05
I have a very big project that usess many 3rd party components.
Compile/Build of the project takes a lot of time.  

I want to devide the project to several sub-projects.

I taked some component and add it to delphi package. I Compile the package and get a bpl file. Now I want to remove the component source from a computer and only use a bpl file.

If component source contains only pas files it works, but if there some resource files (dfm, drc, res) then main project cannot be compiled (linked) without the files.

Does I did something wrong?
Is there a way to put ALL component files to bpl?
0
Comment
Question by:Slavak
[X]
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
  • 2
  • 2
  • 2
  • +1
10 Comments
 
LVL 9

Accepted Solution

by:
mocarts earned 168 total points
ID: 9780110
hi, Slavak :)
did you copied also DCP file for component package? this file is required to link exe with required packages (i.e. with runtime packages noted in Porject | Options... Packages page).

wbr, mo.
0
 
LVL 8

Assisted Solution

by:gmayo
gmayo earned 166 total points
ID: 9780183
You could put some of your modules into DLLs. That way, they can be used by C++ and other apps too.

Geoff M.
0
 
LVL 2

Assisted Solution

by:alijunior
alijunior earned 166 total points
ID: 9780387
You need implicity add all resources used to dpk. Then recompile it. The compiled files necessaries are: .bpl, .dcu, .dcp (when exists) and .res files. You can set in your dpk options, at "Directories/Conditionals" the two first combos ("Output Dir" and "Unit Output Dir.") with some path (both equals) and when you recompile it Delphi will put all necessary files in that directory automatically. In the tab "Description", set the "Explicit Rebuild" item at "Build Control" radiogroup.

I wait could solve your trouble.

[]'s

PS: Sorry about my poor english...
0
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!

 
LVL 3

Author Comment

by:Slavak
ID: 9780503
to mocarts.

i have dcp files. In package project I can add them to required part.
But how I can use them for exe project.

to gmayo.

i cannot divide executable. I only want to devide source.

to alijunior

I actually use Output dir and Unit Output and place the directory in search path for main project, but required files also a *.dfm files that (from my point) should be in same directory as corresponding *.pas file.

0
 
LVL 8

Expert Comment

by:gmayo
ID: 9782757
Remove all the unwanted .pas files to a safe location. Delphi will then use the .dcu files, ie the already-compiled files.

Geoff M.
0
 
LVL 9

Expert Comment

by:mocarts
ID: 9785285
Slavak, dcp files (generated for packages) are necesary for linking with exe.
but to use them you need first to add these packages to your exe runtime package list (Project | Options.. Packages page. check Build with runtime packages and write package names you need)
ok, a little bit from the begining.. :)
packages (generally package is dinamically loadable dll, but with lot of pluses versus dll) are of two types - designtime and runtime. designtime packages are used only at designtime usually for components and you can install such package in Delphi IDE. runtime packages are used to share (or devide) your code into separate module at runtime. general purpose for runtime packages are for code sharing among different applications - for example, you have two small exes and one large runtime package with Delphi vcl compiled. similary you can use runtime package for code devision into logical modules.
so.. compile your components (or other source) package as runtime (optionally there can be runtime and designtime), save dcp (for linking) and bpl (for execution) files and compile your exe with this runtime package in your runtime packages list (located in Project | Options.. dialog)
ok, there is also some information about packages in Delphi help - read it too

wbr, mo.
0
 
LVL 3

Author Comment

by:Slavak
ID: 9805486
to gmayo

Problem is not with *.pas files. Linker looking for *.dfm files that should be added as resource to compiled executable.

to mocarts

The problem with this solution is that I cannot divide the excutable: I should provide to customer only one executable file. With the solution I must provide *.bpl files also.

0
 
LVL 2

Expert Comment

by:alijunior
ID: 9817915
Try add the dfm and pas files to the dpk!
0

Featured Post

Get HTML5 Certified

Want to be a web developer? You'll need to know HTML. Prepare for HTML5 certification by enrolling in July's Course of the Month! It's free for Premium Members, Team Accounts, and Qualified Experts.

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…
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Suggested Courses
Course of the Month4 days, 6 hours left to enroll

630 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