On May 4, 2017, at 12:21 PM,David Adams wrote: > Thanks for all of the details from your time at the tour, it sound really > great. I'm happy to see that CALL FORM and CALL WORKER are being promoted, > that's great. I strongly encourage everyone to try these features out. If > you can find 30-60 minutes when you've got the feeling to experiment, you > can master the basic mechanics. Several months later, I'm still sorting > through nuances ;-) The documentation on the basic commands is excellent, > although I find the overall 'about workers' page possibly more misleading > than clarifying.
And this is where the 2nd day of the 4D World Tour and JPR’s presentation is so valuable. He spends a lot of time talking about the worker process system. The ideas behind how it works. The detail of when things happen. (Example: if you open a window and then do CALL FORM before you issues a DIALOG command, exactly what happens related to the form events? Not gonna tell you. Go to the 4D World Tour and let JPR tell you!) All this background information is so helpful. And because the meetings are small with less than 50 people, you can ask questions at any time. JPR also talks about “slicing” and “chunking” and why you need to use these techniques and provides examples of their use with workers. Important information needed so that your finished implementation using these new commands is smooth and polished. > I'm glad that Tim pointed out that these commands work in 32-bit and don't > require compilation to execute. I think that these commands may have come > out of 4D's work on making more of the language pre-emptive. That's > understandably lead to some conflation of the two subjects. Pre-emptive > mode and these new CALL commands can be treated as unrelated subjects. So > if you don't care about pre-emptive, you should still find out about these > commands - they're a vast improvement over past options. And for another clarification, you CAN have a worker generate a UI, open windows, etc. The caveat is you can only do this if the worker is interpreted, or the worker compiled but set to not running preemptively. You only get the illegal command error messages when compiling and you have set the method to run preemptively. (Reminds me of a Dirty Harry saying… “a man’s got to know his limitations.”) And 4D has had preemptive processes for a long time. They are now exposing this existing technology to developers for us to use. An example is the “DB4D Server" process running on the server. (And it could very well be that any process running on 4D Server with “State” of “Running” is a preemptive process. I didn’t ask JPR that question, I’m just guessing here.) Tim ******************************************** Tim Nevels Innovative Solutions 785-749-3444 timnev...@mac.com ******************************************** ********************************************************************** 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 **********************************************************************