Solved

Package newbie question

Posted on 2004-04-06
8
234 Views
Last Modified: 2010-08-05
I want to split my app into a *.exe and a *.bpl file.

It runs fine on my PC but if I move to another machine without Delphi IDE it requires the vcl50.bpl file. I wonder if it is possible to compile an executable that requires just my *.bpl? If not, am I allowed to distribute the vcl50.bpl? Do I need anything else if I use other components?

TIA
0
Comment
Question by:__alex
8 Comments
 
LVL 19

Assisted Solution

by:Melih SARICA
Melih SARICA earned 50 total points
ID: 10763928
u can put all ur bpl's in to ur exe code..

there is an obtion " build with runtime packages" when u check it ll put all ur runtime packages in it..

Ur exe size ll be bigger but it ll solve ur problem ..

Under project->Options->(from window) Packages... u ll see the cehck box
0
 
LVL 12

Accepted Solution

by:
Lee_Nover earned 50 total points
ID: 10764243
you can add all the rtl, vcl units to your package .. it should work
and yes, you're allowed to redist the rtl/vcl packages with your app
0
 
LVL 2

Author Comment

by:__alex
ID: 10764466
> it should work
Nope, but shot my IDE instead. Reinstalling...
0
 
LVL 12

Assisted Solution

by:Ivanov_G
Ivanov_G earned 50 total points
ID: 10766328

   It is useless to separate both EXE and BPL files (my opinion). If you are considered about the size of the program - now software is shipped on CDs and DVDs, so this is not important issue.

   It makes sense only if you have MANY big executables and thus you will reduce the size of all them. In this situation you can ship the *.bpl packages and build the project as described by non_zero.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 2

Author Comment

by:__alex
ID: 10766617
If you have n different products and m different hardware you will get n times m different *.exe. If I can separate product (*.exe) from hardware (*.bpl) it's less. I will put all the hardware related stuff in a package, i.e. an abstract base class and a CreateInstance function. If everything goes fine you can combine every *.exe with every *.bpl (as long as the interface stays the same). I will not use dlls because I think OO.
0
 
LVL 3

Expert Comment

by:BJThomsen
ID: 10769162
I think the question here is, he has some .bpl's that are his. He want's to use them as bpl's but he want's the .bpl's that come with delphi compiled into his exe.

You can do this by going to the project dialog and selecting the Packages tab. At the bottom is a checkbox 'Build with runtime Packages' make sure thats checked.

Then remove all the packages listed in the edit box you dont want separated out, leaving only your packages.
0
 
LVL 3

Assisted Solution

by:BJThomsen
BJThomsen earned 50 total points
ID: 10769203
You might want to think about putting the hardware code into a COM object. Then you install the correct COM object for the hardware and your exe uses the COM object to work with.
0
 
LVL 2

Author Comment

by:__alex
ID: 10772622
A package can only use units from other packages, that's the reason why Borland put all the system units in a package (you might want to use it within your package). -> You need the vclXX.bpl as it is (not in the *.exe).

Anyway, thanks for the input!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

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…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.

896 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

15 Experts available now in Live!

Get 1:1 Help Now