1. Troy Cowan
  2. PowerBuilder
  3. Wednesday, 22 May 2024 16:54 PM UTC

I recently ran into an issue when moving from one build server to another - paths were different and it turns out there was a "hidden" hard coded path in the files that I wasn't aware of at first. 

The .gen file specified a hard coded $PBRPath and the contents of the .pbr specified a hard coded path to the location of a .pbl. 

I fixed all the hard coded paths and am building, but in doing so I have become quite confused about why we have this .pbr in the first place. The contents of the .pbr were simply: 

E:\BRMD\Build\BBR\libraries\driver.pbl(d_scheds_to_run)

From what I gather, this type of thing is necessary if a datawindow is not in a pbl. However, as best I can tell (which pretty much means just looking in the .pbl in the PowerBuilder IDE), d_scheds_to_run is there inside of driver.pbl.

Therefore, it looked to me like this .pbr file was probably not necessary. But when I removed the line in the .gen file that specified the .pbr location, the application stopped working as expected. In the code where it attempted to run Retrieve on a d_scheds_to_run object it returned a -1. So I guess this .pbr really is necessary but for the life of me I don't know why. 

Any advice would be great.  

 

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 22 May 2024 17:06 PM UTC
  2. PowerBuilder
  3. # 1

Hi Troy;

  PBR's are an absolute necessity when DWO's are dynamically assigned to either a DataStore or DW Control. If you app specifically assigns a DWO in the associated painter, then the DWO is included in the App. However, that is still not the absolute case.

  FWIW: I always use DLLs / PBD's for all my App Libraries on a compilation. That way there is A) No dependency on a PBR and B) you will always get all your DW objects (including Windows, User Objects, etc that are also dynamically assigned at runtime).. HTH

Regards .. Chris

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.