From: Joerg Hoehle
Subject: help with ACL/PC and busy application (no window refresh)
Date: 
Message-ID: <586093$lts@omega.gmd.de>
Hi,

we're using AllegroCL/PC-3.0, and our program sits mainly in a
foreign-function library (KAPI:lisp-kgetstring-or-wait).  The problem
is that there's no window refresh while it's in there.  The ACL/PC
window won't even come to the front when selecting with the task
manager.  So it's not possible to look at the TopLoop window to see
past messages or even what the last messages were.

The window is only refreshed when the KAPI:lisp-kgetstring-or-wait
function returns and some new messages are displayed.  You can't just
switch to ACL/PC and peek at the most recent messages.

Is there a way to prevent this, perhaps by using stack groups (nothing
found in the manual), or by any other means?

Thanks for any help,
	Jo"rg Ho"hle.
············@gmd.de			······@zeus.gmd.de
http://zeus.gmd.de/~hoehle/amiga.html
You're explicitly forbidden to send me junk_mail.
From: Stefan k. Bamberger
Subject: Re: help with ACL/PC and busy application (no window refresh)
Date: 
Message-ID: <bambi-0512961405520001@wi6a84.informatik.uni-wuerzburg.de>
In article <··········@omega.gmd.de>, ······@zeus.gmd.de (Joerg Hoehle) wrote:

> Hi,
> 
> we're using AllegroCL/PC-3.0, and our program sits mainly in a
> foreign-function library (KAPI:lisp-kgetstring-or-wait).  The problem
> is that there's no window refresh while it's in there.  The ACL/PC
> window won't even come to the front when selecting with the task
> manager.  So it's not possible to look at the TopLoop window to see
> past messages or even what the last messages were.
> 
> The window is only refreshed when the KAPI:lisp-kgetstring-or-wait
> function returns and some new messages are displayed.  You can't just
> switch to ACL/PC and peek at the most recent messages.
> 
> Is there a way to prevent this, perhaps by using stack groups (nothing
> found in the manual), or by any other means?
> 
> Thanks for any help,
>         Jo"rg Ho"hle.
> ············@gmd.de                     ······@zeus.gmd.de
> http://zeus.gmd.de/~hoehle/amiga.html
> You're explicitly forbidden to send me junk_mail.


I think the problem is that ACL can't handle pending events while being in
a FF. Perhaps you can define a time for your ACL main window do that
you're explicetely called by the window system and then do your refresh
....

Another way could be to do your FF stuff asynchronously...
In C(++) you can create a thread (I'm no C hacker so I'm not sure if it's
possible within a DLL) with sends you a message if it's finished.

- stefan