OK:  I can see that my idea of Interprocess variables getting a separate 
instance in Preemptive processes is not popular with several of you.

Consider then, a middle ground:
Currently, 4D is trying to get around range-checking type overhead within 
Preemptive processes by doing their checking at compile time.  Problem here is 
that WHOLE METHODS are then restricted based on any restricted content, or 
sub-content. THIS IS WHAT REALY IRKS ME.

Here’s PROPOSAL #2:
Restrict only the code-lines that contain restricted items, including 
inter-process variables, instead of entire methods.

So, your method could not contain:
If($IsPreemptive)
  $GetSomeValue:=vMyValue
ELSE
  $GetSomeValue:=<>MyIpVar
END IF

Internally, 4D compiler would have to put cod around that line, similar to 
range checking;  but, unlike Range checking; as long as your code never hits 
that line (within a preemptive process), execution is never slowed down.  If 
you do hit that line, 4D generates an error, and does NOT run the offending 
line.

The code should really not be any slower, however, it may be somewhat larger, 
when compiled.

Tony


**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to