Target-relative paths and shared projects

All paths used in projects are stored as target-relative paths, if possible. If you later move the application to a different location in the file system, or another user copies or checks out the application, the paths are adjusted relative to the new target location.

For example, suppose user A has an application target stored in the following directory structure, where pbl_1.pbl contains the application object:

C:\target1\target1.pbt
C:\target1\pbls\pbl_1.pbl
C:\target1\pbls\pbl_2.pbl
C:\target1\res\target1.pbr
C:\target1\out\target1.exe

When user B copies the application to the following directory structure, no changes need to be made in the Project painter, because the paths reflect the new directory structure:

D:\PB\My Targets\Target 1\target1.pbt
D:\PB\My Targets\Target 1\pbls\pbl_1.pbl
D:\PB\My Targets\Target 1\pbls\pbl_2.pbl
D:\PB\My Targets\Target 1\res\target1.pbr
D:\PB\My Targets\Target 1\out\target1.exe

A project that was created in an earlier version of PowerBuilder using hard-coded paths must be opened and resaved before the files it references are modified with target-relative paths.

However, if a path is not on the drive where the target is stored, then the path is stored as an absolute path. For example, the path to image files stored on a shared network directory such as J:\res\images\common is stored as an absolute path in the project file.

NoteReferences to files outside the target path If a project references a PBL or another file on a local drive that is outside the path of the target, make sure that the PBL or file is copied to the new target location and that it is referenced correctly in the project.