PxPlus User Forum

Twitter Twitter Twitter

Author Topic: update global functions at runtime  (Read 760 times)

Thomas Bock

  • Diamond Member
  • *****
  • Posts: 179
    • View Profile
update global functions at runtime
« on: August 04, 2023, 05:56:43 AM »
Each time we update global functions on a Windows system they don't work any more. PxPlus throws many types of errors depending on how the functions have changed. Here is what we do in order to update/reload the global functions:

Code: [Select]
bkpPC = prm('PC')
set_param 'PC' = 0
! do update actions
set_param 'PC' = bkpPC
drop pth("globalFunctions.pvx"), err = *next
call "globalFunctions.pvx" ! addr itself

What needs to be done for a successful update?

James Zukowski

  • Diamond Member
  • *****
  • Posts: 308
    • View Profile
Re: update global functions at runtime
« Reply #1 on: August 07, 2023, 09:55:03 AM »
At a prior job, we occasionally updated the global functions, as well. If I recall, we PERFORMed the program with the functions. Whenever we set the functions, we also set a couple of global variables to the program's creation date/time, so we only reset them if the program was updated.

There was no need to DROP or ADDR, as PxPlus dealt with that automatically. The new versions of the functions would take effect immediately upon return to the caller.

Caveat: We were using Linux, not Windows, for our server. I don't think it should make a difference, though. Then again, it's Windows...
James Zukowski
Sr. Developer - J&E

Brand Industrial Services