1. Michael Clardy
  2. PowerBuilder
  3. Tuesday, 27 October 2020 18:47 PM UTC

Hi All,

We recently made the switch to Powerbuilder 2019 R2 and started building in 64 bit.  

On a select few windows 10 desktops the new EXEs will open up but quickly crash with no error. Essentially the opening window flashes and goes away.

The strange thing is when I run the application from the command line with /pbdebug to generate the debug file, the application runs fine and does not crash. 

Assuming its some kind of registry or dll issue but to this point we've been unable to find a solution. Any help is appreciated!

 

Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 27 October 2020 19:04 PM UTC
  2. PowerBuilder
  3. # 1

You probably have 32-bit references, such as 32-bit registry or 32-bit OCXs/DLLs.  Please go through this video carefully to successfully convert to 64-bit: https://www.appeon.com/developers/library/videos/migrating-powerbuilder-desktop-apps-64-bit.html

By the way, it is not crashing in the IDE/debugger because that is a 32-bit process.  Only the compiled .EXE is 64-bit.  

 

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 28 October 2020 18:52 PM UTC
  2. PowerBuilder
  3. # 2

Hi Michael;

  If the App EXE runs OK via using the /PBDebug option, then the probable cause is a "timing" issue in your App's code. This is also reminiscent of an App working OK under the the control of the IDE's debugger but will behave differently (or crash) when executed from the IDE's Run icon.

  In both cases, a compiled App will execute much faster than when debugging or tracing is enabled. This can lead to sections of PowerScript code running faster than anticipated and trying to to process datum, variables, objects, etc that are not yet ready. This also pertains to events that can fire faster or in a slightly different order than originally expected in an EXE vs when in debug/trace mode.

 In the above cases,, the problem normally stems from

  1. Apps that reply on the above situations in the Open or Constructor events
  2. App code that does not check for valid situations like IsValid (ObjectA) = TRUE
  3. App code that does not check for valid data - ie: IsNull()
  4. Apps that do not use POST Open and Constructor events for initialization
  5. Apps that process Window Timer Events
  6. Apps that process using the Timer Object.

Food for thought.  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.