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 **********************************************************************