Distributing resources
You can choose to distribute your resources (pictures, pointers,
and icons) separately or include them in your executable file or
dynamic library.
Distributing resources separately
If a resource has not been included in the executable file
or in a dynamic library, when a resource is referenced at execution
time PowerBuilder looks in the search path for the resource (such
as the file FROWN.BMP). So you need to distribute the resources
with your application and make sure they get installed in the user’s
search path.
For example, assume you use two bitmap files as in the following
script:
|
1 |
IF Balance < 0 THEN<br /> p_logo.PictureName = "frown.bmp"<br /> ELSE<br /> p_logo.PictureName = "smile.bmp"<br /> END IF |
You could distribute the files FROWN.BMP and SMILE.BMP with
your application. As long as the files are on the search path at
execution time, the application can load them when they are needed.
The Windows search path is as follows:
- The current directory
- The Windows directory
- The Windows system directory
- All directories in the PATH environment variable
Using PowerBuilder resource files
Instead of distributing resources separately, you can create
a PowerBuilder resource file (a PBR file) that lists all dynamically
assigned resources.
A PBR file is an ASCII text file in which you list resource
names (such as BMP, CUR, ICO, RLE, and WMF files) and DataWindow
objects. To create a PBR file, use a text editor. List the name
of each resource, one resource on each line, then save the list
as a file with the extension PBR. Here’s a sample PBR file:
|
1 |
ct_graph.ico<br /> document.ico<br /> codes.ico<br /> button.bmp<br /> next1.bmp<br /> prior1.bmp |
PowerBuilder compiles the listed resources into the executable
file or a dynamic library file, so the resources are available directly
at execution time.
Using DataWindow objects If the objects in one PBL reference DataWindow objects, either
statically or dynamically, that are in a different PBL, you must
either specify a PowerBuilder resource file that includes the DataWindow
objects or define the library that includes them as a PBD or DLL
that you distribute with your application. You cannot distribute
them separately (as you can, for example, bitmaps and cursors).
For more information about creating and using PBR files, see
the chapter on packaging your application for deployment in Application
Techniques
.
What happens at execution time
When a resource such as a bitmap is referenced at execution
time, PowerBuilder first looks in the executable file for it. Failing
that, it looks in the PBDs that are defined for the application.
Failing that, it looks in directories in the search path for the
file.