No announcement yet.

On preload time consuming call and problem with screen appearance

  • Filter
  • Time
  • Show
Clear All
new posts

  • On preload time consuming call and problem with screen appearance

    Dear sirs,
    in the "on preload" event of a Screen I have to perform several time consuming tasks that as a conseguence changes the "look" of the screen itself.
    What happens now is that then the user reaches this screen during the installation, the screen is not clearly drawn for at least a second (the time needed by "on preload" to perform all the tasks)
    and then it refreshes to the correct status.
    Is there a way to prevent this? I tried putting in the "on preload" a call to Dialog.TimedMessage but it simply waits for the amount of time but in the meantime it does not continue executing the other
    funcion call.
    Thanks in advance

  • #2
    Instead of performing these tasks in the On Preload event script, move them to the On Start event of a new Custom Progress screen. For best results, in On Preload events only speedy tasks should be performed.



    • #3
      Hi Ulrich,
      thanks for your reply, as a matter of fact i followed your suggestion and it works perfectly.
      But now I m facing a different problem.
      The Custom Progress screen has no "Back" button, so i want that the "Back" button of the screen following the the Custom Progress would "Jump" to the screen before the the the Custom Progress.

      I tried to use the Screen.Jump but it does not work as i expected.
      If, for example, I have 4 screens
      and the "On Back" of S3 is:
      Pressing the "back" on S3 moves me back to "S2" but then pressing the "back" on S2 brings me to S3 again and not to "S1".

      I created a totally new project even without a "Custom Progress" but just with default screens:
      Welcome->License Agreement->User Information->Select Install Folder->Select Shortcut Folder->Ready to install
      and if i code in the "On Back" of "Select Shortcut Folder"
      ScrenJump("User Information");
      I have the same behaviors described above
      Which is the best way to solve this?
      Thanks in advance


      • #4
        One method I saw is that some developers use a boolean variable to control which screen should be jumped to during navigation. So, if the variable is set one way, the Screen.Jump() jumps to screen A, and if the variable is set differently, the same button can jump to screen B.

        However, I would dot this only if there is no way to avoid adding this code. If these tasks of the Custom Progress screen need to be performed only once, like the installation of a required software package, the scan for a certain file, etc. then perhaps you could move this screen after the "Ready to Install" screen, to the end of the Before Installing sequence. In this manner, the user can jump back and forth as needed, but once he confirmed that all settings are as desired, the installation starts, there is no going back while these operations take place, and then the product itself is deployed (showing the usual progress screen). You may be even possible to disable the Cancel button, so once these lengthy tasks started, the user cannot abort them, and needs to wait until the next screen is shown.



        • #5
          thanks for all the suggestions Ulrich.