Hi Art,
I just realized that I never replied to this last message of yours:
On Fri, Dec 28, 2012 at 10:18 AM, Art Heimsoth <artst...@artheimsoth.com>wrote:
> From your description here, in my words, guarded/unguarded
> is dealing with serialization of the dialog's variable pool, where
> if a method is guarded, no other method can gain access to the
> variable pool for that dialog and will be blocked when another
> method is started within that same dialog.
Essentially correct. When a guarded method is executing, if another
guarded method is invoked, then that second guarded method will block.
Another unguarded method will not block.
By the way, this is basic ooRexx behavior, not something special to
ooDialog. It is explained in the rexxref.pdf doc. Explained in the method
directive section under an explanation of the guarded keyword. And in the
section on concurrency.
The other thing is, when a guarded method is executing, from within that
method, invocations of other guarded methods do not block.
> Also the execute()
> will keep the containing method active until the executed dialog
> ends.
Sort of. But, it is not so much that execute() keeps the containing method
active. It is do to the fact that execute() does not return until the
underlying Windows dialog is ended.
> Is this correct and are there other implications of using
> unguarded; ie, are any variables protected from modifications
> performed by other methods while a given method is unguarded
> and active?
>
>
Essentially correct, and yes there are implications. Object variables are
no longer protected.
> Okay, is there a place where the actions of guarded (which I
> assume it the default) and unguarded are relative to a method?
I'm not sure if I understand that question. Yes guarded is the default.
Guarded and unguarded methods are relative to the object, not relative to
a single method.
> I have never understood the guarded/unguarded operation and
> do not know the rules for usage.
I don't have any simple 3 sentence rules for usage. Most of my knowledge
is merely, this works, this doesn't work, play around with my code until
what I want to happen, happens, type of thing. ;-)
--
Mark Miesfeld
------------------------------------------------------------------------------
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
_______________________________________________
Oorexx-users mailing list
Oorexx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-users