1. David Peace (Powersoft)
  2. PowerBuilder
  3. Thursday, 25 April 2024 14:42 PM UTC

I have just been working with the PB Auto Builder which gave a very useful warning that the PBDOM220.pbd runtime build version was not the correct one for the EXE being built.

This set me thinkng that these PBD files should be included in the Runtime installers and therefore have the different build versions pointed to by the XML file for the runtime. So if you change the XML file you will get the correct PBD build version.

Having discovered that the PBDs are not installed by the runtime installer I then started thinking about how we get the right version for the build number. The PBD file is infact within the IDE files and is not really runtime specific and there is no way to know what build number it relates to. I know that it probably doesn't' matter but would it make sence for these files to be included in the runtime instalation rather that rolled out withthe EXE that we build?

Thoughts please?

Accepted Answer
Roland Smith Accepted Answer Pending Moderation
  1. Thursday, 25 April 2024 17:29 PM UTC
  2. PowerBuilder
  3. # Permalink

Create a library in your application called pbdom.pbl. Then do an Import Extension of pbdom.pbx into that library.

Now you don't need the provided pbdom.pbd in the library list and you'll get a fresh pbdom.pbd every time you build your application.

Comment
  1. David Peace (Powersoft)
  2. Friday, 26 April 2024 09:18 AM UTC
I did spot the PBX in the runtime but did not make the obvious connection. I assume that this method is available for Alll PBDs supplied by Appeon these days? I just picked PBDOM as an easy example.



Thanks.
  1. Helpful
  1. Roland Smith
  2. Friday, 26 April 2024 13:29 PM UTC
The .PBX file is a C++ DLL that performs the actual task. The .PBD file contains PB objects that interface with the .PBX code. It might also contain structure objects if needed by the function arguments.
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 25 April 2024 18:10 PM UTC
  2. PowerBuilder
  3. # 1

Hi David;

  I use the PBDOM  PBD in my STD Framework. In recent PB 2022 releases, the compiler will give you a PBD build number verification check both in the IDE compile and/or the PB AutoBuild external compile. The key thing to remember is to replace the "PBDOMnnn.pbd" library everytime you move up a new version or build (ie: MR) in your PB App's workspace. That will then ensure that you are using the correct PBD build of PBDOM for the PB build that you are running. Also, the warning / error message will disappear.

That is what I do.  HTH

Regards .. Chris

Comment
  1. David Peace (Powersoft)
  2. Friday, 26 April 2024 09:22 AM UTC
Yes, Chris we can do that. But I we have in the past switched back a runtime version in production (due to a problem) without changing the EXE and rolled out components. Given that we have this great flexability (and for those like you & I who use the PBD) I wonder if these should not be deployed with the runtime and not the EXE. I do not even know if that is possible, will the EXE find the PBD in the runtime folder through the XML path?



I think Rolands solution is a better one as it's a fit and forget approach, but may not be applicable to all Appeon supplied PBDs.



Thanks for the prompt response.
  1. Helpful
  1. Chris Pollach @Appeon
  2. Friday, 26 April 2024 13:46 PM UTC
Hi David;

Either approach will work fine. Just choose the one that works for you. My goals are: support "System to System" controls; "ease of maintenance"; easier for new PB developers to understand; avoid having the PBX objects imported into multiple PBLs (wow does that create ciaos); etc. ;-)

Regards .. Chris
  1. Helpful
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.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.