Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Project

Posted on 2003-11-19
10
Medium Priority
?
412 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
  • 2
  • 2
  • 2
  • +1
10 Comments
 
LVL 9

Accepted Solution

by:
mocarts earned 672 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 664 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 664 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
Technology Partners: 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

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

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

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…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
Suggested Courses

926 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