CleanCloseDown() in ABC

In my ABC programs I use the CleanCloseDown() templates to comply with how the UK Data Protection Act is applied in our NHS, with a timer to force a close down if users leave the program inactive for a configurable period. For communication about impending close I use a simple window with a button to cancel the close. All of this works fine. (I also extend the ABC error manager for my specific messages, but don’t use it for closedown dialogues)

What I have found is that if a MESSAGE() box is open (from the ABC Level:User Error Manager) the program just sits in suspense, waiting for the button press, before it will close from my CleanCloseDown().

I would welcome any insight or suggestions.

Hi Jim

I would suggest putting Capesoft Messagebox into the apps. This uses hooks (Which is something you could do yourself if you wanted to) to override the Message/Stop/Halt windows, and the let’s you add functionality, like what you are describing in your problem.

I hope that helps.



I had forgotten about the Capesoft templates and that’s a very good idea, Many thanks.

You mention hooks to override the standard Clarion functions. I have never done anything like this and that type of coding is well outside my experience. I am curious though. Time is short so I don’t have much scope for experimenting and getting it working but if anyone knows how to go about this it would be worth considering.

Many thanks again

See MessageHook in the Clarion docs. That explains the process.


Hi Bruce.

I see there is a paragraph in the help that explains it; until now I had not realised PROP:MessageHook existed so wasn’t looking for the topic. Clarion really does seem to cover off nearly every need, once you know where to start.

Many thanks for pointing this out. I shall definitely have a go at this.

Cheers, Jim