Icon View Thread

The following is the text of the current message along with any replies.
Messages 11 to 13 of 13 total
Thread UI Feedback from a code loop
Mon, Feb 25 2019 12:51 PMPermanent Link

Walter Matte

Tactical Business Corporation

There is always a "Server"  since the EWB program is running in a Browser - it is the Server that serves up the HTML and JSON.   


Your example.....

"eg
  while not tbChangedPatterns.eof do
     begin
        // Here I find, update and commit the record to be changed
        tbChangedPatterns.next;
     end;
"

There are several methods discussed in this thread to update the UI and let the user know what is happening by say, update some Label Caption,  but the point being made was the While Loop is tightly bound and does not yield time so that you "see" the Caption update on the screen.   The timer methods shown in my case stop the loop to display the Caption and then go on to read the next record.


Uil's example, he asks the server to do all the work (the looping and updating) while the browser (EWB program) integrates some table (loadrows) via a timer over and over again until it is done.  He does not specifically say how he knows but he could be waiting for a table to be empty or some status field to be a certain value.  So each timer event he can update the UI to to let the user know something until the task is finished.

Walter
Mon, Feb 25 2019 2:34 PMPermanent Link

Raul

Globestar Systems

Team Elevate Team Elevate

On 2/25/2019 11:41 AM, Michael Saunders wrote:

> Indeed I understood this from your example and that is why I thought I needed a Server Module to provide this However as I understood from Raul's respone to this question he seemed to indicate that this was not necessary So are you saying I do need a server module

You 100% do not need a server module.

What Walter was saying is that IF you use EWB dataset capability with
EWB Web Server then the actual commit results in async communication
with the EWB Web Server and you should handle the response event as
trigger to proceed to next step of your process (i.e. update UI, do next
commit).

See this sections of manual

https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&topic=Database_Architcture

and (especially "Committing a Transaction")

https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&topic=Transactions

Raul

Mon, Feb 25 2019 5:16 PMPermanent Link

Michael Saunders

I have got it working now thanks  by using the Database After Commit event to trigger the timer and using Walter's example as a template
Previous PagePage 2 of 2
Jump to Page:  1 2
Image