Hi Peter,

That makes sense and I beginning to get a sense/visualize it.

This stuff is like magic in comparison to the older approach.

Thank you Peter!!!

John...

> On Mar 9, 2020, at 10:25 AM, Peter Bozek <[email protected]> wrote:
> 
> 
> 
> On Mon, Mar 9, 2020 at 5:52 PM John J Foster via 4D_Tech 
> <[email protected] <mailto:[email protected]>> wrote:
> Hi Peter,
> 
> I haven’t used CALL WORKED/CALL FORM yet. I’ve seen some tutorials by John 
> Baughman which made sense when I watched them. But a different context I 
> think.
> 
> 
> Idea is as follows: you cannot share memory (variables...) between worker and 
> another process. But you can pass parameters to method running in another 
> process.
> 
> So you need one method, that calculated content of displayed array, and packs 
> the calculated values into object with, say, OB Set array, and this method 
> runs in the worker, and another method that receives the object as a 
> parameter, extracts the values from objects and inserts them into arrays 
> displayed by LB.
> 
> CALL WORKER is called with first method as second parameter and runs inside 
> worker, second method is passed as a second parameter to  CALL FORM and runs 
> in the process of the form.
> 
> I guess that’s why my brain is not seeing this clearly yet.
> 
> My search form has a bunch of variables including a date range, a source and 
> target arrays that it needs to loop through and a mother array list. The 
> search will go something like:
> 
> Loop through Source array
> for this Source{index}...
>    Loop through Target array
>    for this Target{index}...
>       Loop through Aspect array
>       for this Aspect{index}…
>          Call this search method for tis date range…
>          As rows are found build the listbox   <--
> 
> instead of this line, you would, after, say, each N lines, pack the data into 
> object and call CALL FORM 
> 
> Another method (2nd parameter of CALL FORM will unpack data and build listbox.
> 
>  Pseudocode would be:
> 
> Method_Worker:
> receives window reference in $1
> loop through data
>   each 50 records
>     calculate values
>   end each
>   pack last 50 lines into object
>   CALL FORM(window reference;"Method_Form";object)
> end loop
> 
> Method_Form
> receives object in $1
> extract object into arrays
> loop through values in arrays
>   insert values from passed arrays into listbox
> end loop
> 
> then form in On load, calls
> CALL WORKER("worker name;"Method_Worker";window reference of itself)
> 
> Form method does not call Method_Form or do anything.
> 
> HTH,
> 
> Peter Bozek

**********************************************************************
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[email protected]
**********************************************************************

Reply via email to