I’ve noticed if I have a long process running (perhaps 30 - 40 seconds or more) if I click out of the solution window, for example to go to another application - when I return to the solution window the inside of the window is blank - the solution does not re-appear until the process has completed / error’s etc.
Is this normal or is it a product of Win XP. Is there some way to force the Servoy window to refresh when it gets the focus again (even during a process)?
As far as I know, this has nothing to do with Windows XP.
It is Java. because the Servoy Client, is single threaded, you have to wait, when the client is ready again.
Don’t know, if Servoy can optimize this, you can file a request here: http://www.servoy.com/s
Harjo:
As far as I know, this has nothing to do with Windows XP.
It is Java. because the Servoy Client, is single threaded, you have to wait, when the client is ready again.
Don’t know, if Servoy can optimize this, you can file a request here: http://www.servoy.com/s
Thanks Harjo - I’ll make a case - it’s really difficult for users - since they think the client has crashed (same thing happens when a window app miss behaves and is unlikely to come back) - I’ll try and see if updating the UI has any response!
You could also use the status area to show something is going on, just display a message like “Calculating…” or “Please wait…”, at least the users know that the apps is doing something.
Application.updateUI() won’t help you, since the client runs in only one thread that command would be executed AFTER the processing is done.
In Servoy 5.1 we have introduced a plugin (the headless client plugin) that allows you to run code asynchronously in the server started/stopped by the client.
You can use this to spawn long running processes and show something else interesting to the user.
rgansevles:
In Servoy 5.1 we have introduced a plugin (the headless client plugin) that allows you to run code asynchronously in the server started/stopped by the client.
Rob, this is great. I think you should offer a how-to-do demo about this plugin in one of the upcoming/proposed webinars.
rgansevles:
In Servoy 5.1 we have introduced a plugin (the headless client plugin) that allows you to run code asynchronously in the server started/stopped by the client.
You can use this to spawn long running processes and show something else interesting to the user.
ngervasi:
You could also use the status area to show something is going on, just display a message like “Calculating…” or “Please wait…”, at least the users know that the apps is doing something.
Application.updateUI() won’t help you, since the client runs in only one thread that command would be executed AFTER the processing is done.
We are talking about the smart client here right?
then the above statement is not correct.
In a long going process if at certain points you call application.updateUI() then the screen will refresh itself with the latest info.
This does not work for a webclient because there the browser really only paints the new data when the request is done on the server.
But the request that is done to the server is async so your webbrowser will not blank out (but show you the loading… in the top right corner)