• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 139
  • Last Modified:

Creating one run-time package only

I have 'packaged' a large class of ours in a package as I want it to be available to another of our Delphi programs (and also to another company who will be interfacing with it in Delphi also). When I check on build run time packages and enter only mine in the editbox a number of other packages are also created (vcl30, tor216_r (orpheus)...). I don't want that to happen, I just want my exe and the one package - is there any way to achieve this? BTW, in relation to packages, what are dcp and dcr files? Thanks, Tom.
0
boardtc
Asked:
boardtc
  • 2
  • 2
1 Solution
 
rickpetCommented:
Tom...

There's a required tab in your *.dpk...remove the packages that you don't want...remember...if you reference these packages(units) in your package you will be required to create them.

Now on to your other question...the *.dcp is the runtime equivelant of your package...this can be the source of much pain.  There seems to be a bug in Delphi 3...it does not always(seldom if ever on our end) of recompiling these...This will cause your source code and package to be out of synch.  We delete these on a regular basis when we are recompiling our package.  The dcr is a palette bitmap (.DCR) file in other words...a resource file...

Rick
      
0
 
boardtcAuthor Commented:
RickPet, Thanks,when I was compiling the package it did look for those other packages, I guess there is no way I can just give the search path so my package can units that will be included in the exe, obviously not it must be self contained... can it not just build with the necessary packages (vcl30...) 'packaged' in the package? Send answer so I can grade. Thanks, Tom.
0
 
GreedyCommented:
RickPet: do you know if run time packages can be put into something like a cab file for depolyment.  I know you can bundle up ocx files like that for web deployment but when I saw this question I started looking to see if you can do it with dpl/dcp files too but can't find any info.
0
 
rickpetCommented:
Tom...

They can be self contained...but remember there is always a but...=)  as soon as one unit references another unit that must be in a package...So no you can't really have a self contained package...

Okay...how to get around this...Don't package your project.  Break this into groups.  I.E. each component or group of components become a package.  Now the downside to this...they are basically only available to your other programmers...and not as packages to your application.

The reason to use packages...you have an application that will share common points.  The packages that you are going to share need to be very very stable.  Should this change drastically you should wait to start sending it as packages...The reason...lets say we have your package called MyPack10...Now lets say you have 2 applications that use MyPack10.  MyApp1 ver 1.0  and MyApp2 ver 1.2 which link to this package.  Now your user gets MyApp1 ver 1.1 which drastically changes MyPack10.  MyApp2 now is broken as the links are changed...So if you drastically change MyPack10 you should change the name to something like MyPack11 so that you don't break MyApp2.  (Note the VCL does the same thing...VCL30 so that when Delphi 4 comes out it doesn't break existing application)


On to Greedy's question...I don't see why we can't deploy them in a cab...the only problem...since the shell has no inherint(hmmm...but it does have knowledge of *.cab...hmmm) knowledge of our dpl/dcp it will not know where to extract them to...Now I'm sure that we could tie into the shell and have it do this for us...But that's another problem...(Boy do I hate working with the shell...terribly documented...)

Rick
0
 
boardtcAuthor Commented:
Thanks for the detailed answer. Tom.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now