Blocking your own user interface?

Just read https://forum.xojo.com/60227-window-updatenow-in-catalina-and-beyond/0#p488655

Do I see it correctly that Michael is effectively blocking his, and then complains that the user interface doesn’t update?

Button1.Action
       flagToBlockOtherActivity = true
       ... starts the Thread running to do the processing
       Thread1.run
   
Thread1.Run
        for i = 1 to 100
           ... do stuff ..
            use a timer to update the ui
       next
       flagToBlockOtherActivity = false

Timer1.Action
       label1.text = "scanning " + str(i) + " ..."


  MenuHandler.Foobar
        if flagToBlockOtherActivity then
             beep
             return
        end if

  Window1.CancelClose
        if flagToBlockOtherActivity then
             beep
             return
        end if


  Listbox1.keydown
        if flagToBlockOtherActivity then
             beep
             return
        end if

ah I think this was an attempt to deal with why doesnt UpdateNow work any more in Catalina from his first post

basically make it so the UI updates immediately and the user is blocked from doing just about anything else while the long running process goes on

That’s what he WANTS to do … but in effect what he does do is negate the whole point of using a thread by blocking menu action etc himself.

Which is weird as I always considered Michael a much better programmer than myself - so what am I missing here?

thats he is trying to find a means to make the UI update as per his first post since UpdateNow in a loop doesnt appear to be working

In that first case he WOULD be blocking user interactions so he needs that to still be the case but he also need the UI to update

There’s “something” not working about UpdateNow for gawd knows what reason

But shouldn’t True and False be the other way round then?

The way he does it all he will get is beeps.

Which is what he wants based on his very first post in that thread
The for next loop even with UpdateNow would block ALL user interaction and just redraw the UI elements with progress bars etc
Exactly what he’s trying to achieve some other way because UpdateNow isnt updating immediately like it was supposed to

I see.

Thanks for the clarification.

Why doesn’t he simply temporarily deactivate the controls and menus?

I honestly dont know
maybe suggest that to him :stuck_out_tongue: ?

and there may be other things that he needs to block in this way anyway like the close & resize gumdrops

I send him an email … so if he is still using that 7 year old email address …

P.S. :thinking: … how cheeky! :scream:

I believe that is his company email and it seems to still be alive & well :slight_smile:

Yep, still works.

Can’t you get his current address from the Xojo’s forum, even without logging in?

Only if he put it there … :wink: