comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Periodic screen update using GWindows/GNAT?
Date: Thu, 23 May 2002 20:46:23 -0500
Date: 2002-05-23T20:46:23-05:00	[thread overview]
Message-ID: <uer6rdmi3ivk25@corp.supernews.com> (raw)
In-Reply-To: 8cd144a2.0205231431.6524993@posting.google.com

D wrote in message <8cd144a2.0205231431.6524993@posting.google.com>...
>I'm new to Windows programming.
>
>My environment is NT/GNAT/GWindows.
>
>I can't quite figure out how to update a window asynchronously (i.e.
>in a non-event driven way). I need to have a display in a window
>update regularly, without the user doing anything. How do I do this
>after I've called GWindows.Application.Message_Loop?
>
>Thanks!

Well, this is easy in Claw, because Claw is task safe. Just create a
task to do the display update, give the task a copy of the window to
write to, and write to the window as needed. The event loop is a
separate task, so you don't need to worry about it, and it doesn't block
the window updating. There is an example of doing that with Claw (look
at Adtest).

I don't believe GWindows is task-safe. (I'm sure David will correct me
if I'm wrong here...) That means that only a single task can write to
the windows, so you can't use the tasking solution (at least not without
standing on your head).

The Claw introductory edition is available for free under the GMGPL, see
http://www.rrsoftware.com/ for the download. (The license doesn't match
the GMGPL, that will get updated with the next update of the
Introductory edition; don't worry about that...)

                Randy Brukardt
                R.R. Software, Inc.






  reply	other threads:[~2002-05-24  1:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-23 22:31 Periodic screen update using GWindows/GNAT? D
2002-05-24  1:46 ` Randy Brukardt [this message]
2002-05-24 17:27   ` David Botton
2002-05-24 16:59 ` Stephen Leake
2002-05-24 17:20 ` David Botton
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox