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.