On Mon, Mar 9, 2020 at 5:52 PM John J Foster via 4D_Tech < 4d_tech@lists.4d.com> 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:4d_tech-unsubscr...@lists.4d.com **********************************************************************