1. Arthur Hefti
  2. PowerBuilder
  3. Sunday, 26 November 2023 07:05 AM UTC

Hi

in the System Options I can set the PowerBuilder runtime version. I saw that e.g. properties in the datawindow painter that are introduced in a new version are available in the GUI but not saved into the datawindow source when saving, to maintain compatibility with the chosen runtime version.

How about the generation of the P-Code in the PBDs? E.g. I'm using PB 2022 R2 IDE (22.1.0.2828) and the runtime PB 22.0.0.1900. How will the PBDs be generated? With the PB version of the IDE or the version runtime chosen? Is there some kind of compatibility or possibility to exchange runtimes for generated PBDs?

We switched runtime 1892 with 1900 in a test environment (printer font issue) and this works fine.

Thanks
Arthur

Arthur Hefti Accepted Answer Pending Moderation
  1. Wednesday, 29 November 2023 14:57 PM UTC
  2. PowerBuilder
  3. # 1

PBD generated with IDE set to use runtime 22.1.0.2828 (in system options not runtime in project painter)

 

PBD generated with IDE set to use runtime 22.0.0.1900

 

Comment
  1. Roland Smith
  2. Wednesday, 29 November 2023 16:03 PM UTC
Thanks! That is new, PB 2019 GA doesn't have that.
  1. Helpful
  1. Roland Smith
  2. Wednesday, 29 November 2023 20:11 PM UTC
I looked into it and the location of the PBD version/build number is what would be the library comment in a PBL. A PBD and PBL have the same structure, the PBD just doesn't have the source code.
  1. Helpful
  1. Arnd Schmidt
  2. Wednesday, 29 November 2023 21:44 PM UTC
Yes, surprise, surprise, it's the Library comment.

Like shown in the open source PBLViewer 1.1 ;-)
  1. Helpful
There are no comments made yet.
Arthur Hefti Accepted Answer Pending Moderation
  1. Wednesday, 29 November 2023 05:56 AM UTC
  2. PowerBuilder
  3. # 2

Maybe someone can answer this as well.

There are 2 registry keys related to the PowerBuilder Runtime version (sample for PB 2022)

The following key is change when I change the runtime version in the IDE: 
Key: HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\22.0
String: CurrentRuntimeVersion

What is the user of this key? As this is a HKLM it needs elevated rights to be changed and is set by the installer.
Key: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Sybase\PowerBuilder Runtime
String: BaseRuntimeVersion220

Comment
  1. Phil Wallingford
  2. Wednesday, 29 November 2023 19:27 PM UTC
I "think" this is set by the installer of PowerBuilder Utilities. And used by those tools?
  1. Helpful
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Monday, 27 November 2023 18:06 PM UTC
  2. PowerBuilder
  3. # 3

The DataWindow source is coded for major release only and is backward compatible. You can see the PB version the DataWindow was last updated with by doing Edit Source and looking at the release clause on the first line.

We use PB 2022 and earlier this month I changed a DataWindow that had 'release 5' in the source.

Chris and Mike are correct, the EXE/PBD files will be generated using the current runtime release in the IDE/script.

My IDE is a newer build than the runtime we are using because Appeon fixed an IDE bug that I reported and I wanted to have the fix.

 

Comment
  1. Arthur Hefti
  2. Wednesday, 29 November 2023 05:39 AM UTC
A PBL/PBD contains the version of PowerBuilder it was created. This can be checked by e.g. opening it with a hex editor or even notepad. As we create them on the build server this is not related to the IDE.

Details of the PBL format you find at https://www.dwox.com/PBL_File_Format.txt
  1. Helpful
  1. Roland Smith
  2. Wednesday, 29 November 2023 13:58 PM UTC
The version mentioned on that page is for the PBL Format, not the PB Version. Several years ago I wrote a DLL in C that reads PBL/PBD files with the help of that page and emails back and forth with Arnd. From what we found, the PB Major Version is located within the binary code of an application object. There is a number that represents the PB version. For example 339 = PB 2022, 333 = 12.5, etc.



If you've discovered more detail that exists in all PBL/PBD files, I'd love to get the details.
  1. Helpful
  1. Arthur Hefti
  2. Wednesday, 29 November 2023 15:02 PM UTC
See answer post, it's not possible to paste images in the comment.
  1. Helpful
There are no comments made yet.
Phil Wallingford Accepted Answer Pending Moderation
  1. Monday, 27 November 2023 17:08 PM UTC
  2. PowerBuilder
  3. # 4

Does setting the run-time version in the System Options effect the regeneration of objects?

My understanding is that the regeneration process requires the PBCMP.DLL which is not part of the run-time distribution.  I only see PBCMP.DLL in the IDE and PBUtilities directory and it is replaced when a new (or older) version/build of PB is installed.

My assumptions could be wrong (wouldn't be the first time), but I'll do some testing on this.

Any thoughts?

Regards, Phil

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Sunday, 26 November 2023 13:59 PM UTC
  2. PowerBuilder
  3. # 5

Hi Arthur;

  It will compile in the version as set in the System Options dialogue of the IDE.

Regards... Chris 

Comment
  1. mike S
  2. Sunday, 26 November 2023 15:09 PM UTC
also, you specify the build/pbd's runtime version to use if you build via script



runtime_version=

/rt



depending on how you build it (pbc vs orcascript)
  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.