How to break a loop (progress bar) with mouse

Author: (dammie)


I think it was here once but I cannot find it....

How can I break the loop (while-endwhile) with mouse clic on button (eventually with key press if mouse-clic is impossible to catch)...

Thanks for info



  1. Hi David,

    if noone has some new info (may be it has fundamentally changed in latest uniface kernel),
    my old one reads the uniface does not process windows messages while processing proc code.

    The old "trick" was to "interrupt" the loop,
    return to the structure editor
    and call up the continuation of the loop.

    Mostly a macro statement like "userkey" was used to return to the processing.
    Or using a virtual "bumper" field with macro "^next_field^previous_field"

    This gave other events a chance to find their place in the input queue of the structure edittor.

    SUccess, Uli

    Author: ulrich-merkel (
  2. I understand the princip but I dont know "how to".

    Possible example please...



    Author: dammie (
  3. Hi David,

    in the USERKEY trigger, combine $char=65 ("A") with call process_loopstep()

    it's just pseudocode but this is the HOW:

    entry setup_loop

    $something_to_do$ = list_of_jobs ; like setocc "myent",1
    macro "^USER_KEYA"

    end ; setup_loop

    entry process_loopstep ; processs a single step in the loop

    if ($something_to_do$) ; something else to do

    call process_next_step
    call reduce_something_to_do()
    macro "^USER_KEYA"



    end ; process_loopstep

    Success, Uli

    P.S: if you need a solution for your purposes, send an email to

    Author: ulrich-merkel (

  4. If you can accept pressing a key instead of using the mouse,
    there is a beautiful solution from awen limbourg already.

    The code (among others) is included in the dITo 3GL Toolbox.
    Maybe it's worth to have a look into it as well.

    Success, Uli

    Author: ulrich-merkel (
  5. The discussion and some ideas on this theme can be found in the forum:

    Forum > Uniface Development > Uniface 9 > Interrupting Process


    Updated version of my solution described in the article:
    In Versions 8 and 9 it does work with async + postmessage, but it is not very stable. Some of the problems are in the keyboard buffer
    when using mouse and keyboard simultanously.
    I think there is also a wish concerning this item.


    Author: gypsilon (