comp.lang.ada
 help / color / mirror / Atom feed
From: Jeremiah <jeremiah.breeden@gmail.com>
Subject: Re: Launching Popup Windows in Gnoga
Date: Mon, 20 Oct 2014 19:03:28 -0700 (PDT)
Date: 2014-10-20T19:03:28-07:00	[thread overview]
Message-ID: <2c170b8e-f55e-4074-a1aa-287a1956ffc1@googlegroups.com> (raw)
In-Reply-To: <ab3de855-4bf9-4831-ae44-ae30869f7066@googlegroups.com>

On Monday, October 20, 2014 8:21:34 PM UTC-4, David Botton wrote:
> > Even with that change, the issue I mentioned above exists (The Constraint error on IE and the popup blocked exception on FF). 
> 
> 
> 
> Ok, I can confirm both situations. I'll look in to it. (Sorry have a high fever, so been slow today)

Get some rest!  No need to worry about this stuff till you feel better.  I was actually feeling a bit guilty for not spending more time flushing out more details for you anyways.  I've only been able to spend time at nights playing with it and kids make that a challenge.

> > As another thought, I'm also still not 100% sure if I would have a race condition or synchronization issue if the button was pressed twice (2 popups at the same time).
> 
> 
> 
> I was just trying to illustrate the idea of freeing an object. I would not put that it production. I should have been more clear.
> 
> 
> 
> In Gnoga every event is a new task. It is a completely concurrent system. The Main thread runs AWS, each connection is its own thread, etc. You can block in any task at any time and not cause damage to the system, etc.

Don't worry, I realized it was just for illustration.  I was just mentioning that because I had guessed this was the case, but was unsure.  I'm thinking ahead so I want to understand how some things work under the hood.  

I know I probably come off as a pretty big newbie (well I haven't programmed Ada in like 7-8 years and it was Ada83...so maybe I am a quite bit of a newbie), but I was definitely already thinking about how to manage it dynamically.  I was honestly being a bit too lazy with my example (trying to get the post in before the kids got home).

Some background:  My main experience when it deals with GUI development is windows, specifically MFC...so pretty old stuff.  In that environment, almost everything GUI related happens in the same thread so you don't have to deal with race conditions or synchronization unless it is with a background thread that you spawn.  All the GUI interactions happen in the main thread using a post message model where all GUI actions place a message on a queue and when the main thread isn't busy, it handles the next message on the queue.   On the one hand, it makes any code used for events like On_Click thread safe with each other.  However, it isn't very powerful and has a lot of limitations.  I like the Gnoga method better.  It's a bit more challenging when you are used to a single threaded model but it really just takes a different way of thinking, so I'll have to take some time and adapt.

      parent reply	other threads:[~2014-10-21  2:03 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-20 12:56 Launching Popup Windows in Gnoga Jeremiah
2014-10-20 13:38 ` David Botton
2014-10-20 15:22 ` David Botton
2014-10-20 22:01   ` Jeremiah
2014-10-20 22:30     ` David Botton
2014-10-20 23:07       ` Jeremiah
2014-10-21  0:21         ` David Botton
2014-10-21  0:27           ` David Botton
2014-10-21  1:27             ` David Botton
2014-10-21  2:06               ` jeremiah.breeden
2014-10-21 11:24               ` David Botton
2014-10-22  1:56                 ` Jeremiah
2014-10-22  2:09                   ` David Botton
2014-10-22  2:57                     ` Jeremiah
2014-10-22 15:24                       ` David Botton
2014-10-21  2:03           ` Jeremiah [this message]
replies disabled

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