Re: Shared Object - NOT!

2018-10-22 Thread Peter Bozek via 4D_Tech
On Mon, Oct 22, 2018 at 5:10 PM Keith Culotta via 4D_Tech < 4d_tech@lists.4d.com> wrote: > If a method creates an object ($no:=new object), the object is destroyed > when the method ends? > and > if a method creates a new shared object ($nso:=new shared object), the > object continues to exist

Re: Shared Object - NOT!

2018-10-22 Thread Keith Culotta via 4D_Tech
If a method creates an object ($no:=new object), the object is destroyed when the method ends? and if a method creates a new shared object ($nso:=new shared object), the object continues to exist after the method ends, but the reference to it is lost? Does 4D know to clear the object in this

Re: Shared Object - NOT!

2018-10-21 Thread Peter Bozek via 4D_Tech
On Sun, Oct 21, 2018 at 7:36 PM Kirk Brooks via 4D_Tech < 4d_tech@lists.4d.com> wrote: > > > Personally I have a lot of concepts about how to do code operation in 4D > that are strongly rooted in what it was possible to do in 4D. ORDA > frequently goes in a different direction and the optimal

Re: Shared Object - NOT!

2018-10-21 Thread Keisuke Miyako via 4D_Tech
it's a silly example anyway, but to be clear, cat:=New collecrtion(cat;cat;cat) cat[0].food:="prawn" should read cats:=New collection(cat;cat;cat) and cats[0].food:="prawn" ** 4D Internet Users Group (4D iNUG) Archive:

Re: Shared Object - NOT!

2018-10-21 Thread Keisuke Miyako via 4D_Tech
the sharing of process sets and named selections between a client process and its server twin process seems to me like a very deliberate feature. http://doc.4d.com/4Dv15/4D/15.6/4D-Server-Sets-and-Named-Selections.300-3838966.en.html for those who are not familiar with this feature, a process

Re: Shared Object - NOT!

2018-10-21 Thread Kirk Brooks via 4D_Tech
Peter, On Sun, Oct 21, 2018 at 5:04 AM Peter Bozek via 4D_Tech < 4d_tech@lists.4d.com> wrote: > On Sun, Oct 21, 2018 at 12:41 PM Keisuke Miyako via 4D_Tech < > 4d_tech@lists.4d.com> wrote: > > the request is more like, > > "I want to make a query in process B change the current selection of > >

Re: Shared Object - NOT!

2018-10-21 Thread Kirk Brooks via 4D_Tech
Miyako, On Sat, Oct 20, 2018 at 9:29 PM Keisuke Miyako via 4D_Tech < 4d_tech@lists.4d.com> wrote: > if you do the same across processes, > i.e. pass a New object or New collection to New process, CALL WORKER or > CALL FORM, > the object or collection is not shared between the 2 methods, caller

Re: Shared Object - NOT!

2018-10-21 Thread Chip Scheide via 4D_Tech
Not to mention how much old/legacy code would likely break > > the language might be more consistent if 4D got rid of all native > scalar types and treating everything as an object, > but there is a performance advantage (memory footprint and speed) in > having scalar native types.

Re: Shared Object - NOT!

2018-10-21 Thread Keisuke Miyako via 4D_Tech
in addition to the distinction between shared and non-shared objects, we need to be aware of the distinction between objects and non-objects. the 4D language is different from script coding languages such as JS or PHP, in that scalar types such as boolean, long, date, time are not objects. they

Re: Shared Object - NOT!

2018-10-21 Thread Peter Bozek via 4D_Tech
On Sun, Oct 21, 2018 at 12:41 PM Keisuke Miyako via 4D_Tech < 4d_tech@lists.4d.com> wrote: > you will probably not like my answer, but here goes. > > for creating a shared collection from a 4D array, > ARRAY TO COLLECTION has a special syntax that does just that. > the trick is to pass a New

Re: Shared Object - NOT!

2018-10-21 Thread Keisuke Miyako via 4D_Tech
you will probably not like my answer, but here goes. for creating a shared collection from a 4D array, ARRAY TO COLLECTION has a special syntax that does just that. the trick is to pass a New shared collection to the command. http://doc.4d.com/4Dv17/4D/17/ARRAY-TO-COLLECTION.301-3730916.en.html

Re: Shared Object - NOT!

2018-10-21 Thread Peter Bozek via 4D_Tech
On Sun, Oct 21, 2018 at 6:29 AM Keisuke Miyako via 4D_Tech < 4d_tech@lists.4d.com> wrote: > > the best way to share an object or collection between processes is to pass a shared object or shared collection as a parameter. > there is no need to use Storage, there is no need to use interprocess

Re: Shared Object - NOT!

2018-10-20 Thread Keisuke Miyako via 4D_Tech
I prefer to explain it this way: when you pass a New object or New collection to a method (subroutine), that object or collection is shared between the 2 methods, caller and callee, because they are running in the same process. if you execute $1.foo:="bar" in the callee, the object from the

RE: Shared Object - NOT!

2018-10-20 Thread lists via 4D_Tech
com> Cc: Pat Bensky Subject: Re: Shared Object - NOT! That's how the example in the docs is. I've tried it with a process variable - same problem. Pat On Sat, 20 Oct 2018 at 15:52, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com> wrote: > How could it be shared between

Re: Shared Object - NOT!

2018-10-20 Thread Christian Sakowski via 4D_Tech
Hi Pat, > But I get an error because $objTriggerState is undefined. This cannot be true, because you used New shared object. Please use the debugger and check your code. I suppose you are using the latest v17 build and you have dot-notation turned on. -- Grüße/Regards, [heubach-media] |

Re: Shared Object - NOT!

2018-10-20 Thread Pat Bensky via 4D_Tech
That's how the example in the docs is. I've tried it with a process variable - same problem. Pat On Sat, 20 Oct 2018 at 15:52, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com> wrote: > How could it be shared between processes with a name starting with $? > > > > Paul > > > On 20 Oct 2018, at

Re: Shared Object - NOT!

2018-10-20 Thread Paul Lovejoy via 4D_Tech
How could it be shared between processes with a name starting with $? Paul > On 20 Oct 2018, at 15:50, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> wrote: > > Well I guess I must be doing something wrong :) > Using v17r3: > > In the Startup method I create a new Shared Object: > >