You can choose to distribute your resources (pictures, pointers, and icons) separately or include them in your executable file or dynamic library.
When a resource is referenced at runtime, if the resource has not been included in the executable file or in a dynamic library, PowerBuilder looks for it in the search path. You need to distribute 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:
IF Balance < 0 THEN p_logo.PictureName = "frown.bmp" ELSE p_logo.PictureName = "smile.bmp" END IF
You can distribute the files frown.bmp and smile.bmp with your application. If the files are on the search path at runtime, 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
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, GIF, ICO, JPEG, RLE, WMF, and PNG 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 is a sample PBR file:
ct_graph.ico document.ico codes.ico button.bmp next1.bmp prior1.bmp background.png
PowerBuilder compiles the listed resources into the executable file or a dynamic library file, so the resources are available directly at runtime.
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 image files.
For more information about creating and using PBR files, see Packaging an Application for Deployment in Application Techniques.