This is correct, and unfortunate. Different people from 4D have even called it a bug, but this is how it is.
You can start in, say, method A with a line like $obj:=[Table]objectField ... and pass $obj through any number of methods as a local variable, or a pointer, or a process object variable. Any changes anywhere down the line will be made in [Table]objectField, since that's the only "real" object -- everything else is just a reference. Not a fan -- this is no better than process variables when things get complex. But I guess the alternative is managing your objects yourself which most people wouldn't like. -- Jeffrey Kain [email protected] > On Jul 25, 2017, at 2:29 AM, Peter Bozek via 4D_Tech <[email protected]> > wrote: > > As I understand it, there is one 'heap' of objects, what means all objects > are IP (where by object I mean here data structures containing data). > Object variables are local, process or IP, but they are just references to > this global object heap. ********************************************************************** 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:[email protected] **********************************************************************

