Just FYI for those following along,

I tried the following in my test method even though I wouldn't be able to in my 
Form object scenario:

        $oChildObject:=Null   // $oParentObject.ChildInformation = 
{FirstName:John,LastName:Smith}

Drew

-----Original Message-----
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Drew Waddell via 
4D_Tech
Sent: Thursday, February 21, 2019 1:28 PM
To: Olivier Deschanels <olivier.deschan...@4d.com>; 4D iNug Technical 
<4d_tech@lists.4d.com>
Cc: Drew Waddell <dwadd...@orchardsoft.com>
Subject: RE: Object notation bug?

I am unable to do $oChildObject:=null in my actual situation because I am 
passing that object into a Dialog so in my situation $oParentObject is actually 
the Form object, I don't have the local variable for $oChildObject on the form. 
 So is there another command to clear both references without having loop over 
all properties in the child and remove them individually?  

Drew

-----Original Message-----
From: Olivier Deschanels <olivier.deschan...@4d.com> 
Sent: Thursday, February 21, 2019 1:21 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Drew Waddell <dwadd...@orchardsoft.com>
Subject: Re: Object notation bug?

Hi,

That’s not a bug. That’s normal.

$oChildObject:=New object create a reference to a object store in $oChildObject

 OB SET($oParentObject;"ChildInformation";New object) push another reference 
into the $oParentObject but the old reference still exist because $oChildObject 
isn’t cleared.

you try :  $oParentObject.ChildInformation:=Null
try this  $oChildObject:=null

and read $oParentObject

Regards,

Olivier



Olivier Deschanels
Consultant Expert

4D SAS
66 route de Sartrouville
Parc Les Erables - Batiment 4
78230 Le Pecq
France

Téléphone : +33 1 30 53 92 75
Standard :  +33 1 30 53 92 00
Fax :       +33 1 30 53 92 01
Email :     olivier.deschan...@4d.com
Web :       www.4D.com






> Le 21 févr. 2019 à 18:59, Drew Waddell via 4D_Tech <4d_tech@lists.4D.com> a 
> écrit :
>
> I am trying to figure out if this is a bug or not.  This is a watered down 
> version of something I am trying to do:
>
>                C_OBJECT($oParentObject;$oChildObject)
>
>                $oChildObject:=New object
>                $oParentObject:=New object
>                $oParentObject.ChildInformation:=$oChildObject
>                $oParentObject.ChildInformation.FirstName:="John"
>                $oParentObject.ChildInformation.LastName:="Smith"
>
> I want $oChildObject and $oParentObject.ChildInformation to remain the same 
> and should because of how the references work, so at this moment each are 
> {FirstName:John,LastName:Smith}.  Let say something happens like maybe there 
> is a Clear button, how would one clear the child object?
>
> First, I wanted to do this:
>
>                $oParentObject.ChildInformation:=Null // $oChildObject = 
> {FirstName:John,LastName:Smith}
>
> Okay, I thought that was the correct way to clear both objects but maybe 
> there is a different way so maybe this?
>
>                OB SET($oParentObject;"ChildInformation";New object) // 
> $oChildObject = {FirstName:John,LastName:Smith}
>
> Nope, again the child object with $oParentObject is cleared but $oChildObject 
> remains {FirstName:John,LastName:Smith}.  So do I really have to loop over 
> all properties and remove them individually?
>
>                OB REMOVE($oParentObject.ChildInformation;"FirstName")
>                OB REMOVE($oParentObject.ChildInformation;"LastName")  // 
> $oChildObject = {}
>
> Finally when I make a change in the $oParentObject.ChildInformation the 
> referenced object $oChildObject is also updated.
>
> Is this a bug?  Shouldn't the :=Null work and also change the $oChildObject 
> variable?
>
> Thanks,
> Drew
>
> **********************************************************************
> 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
> **********************************************************************


**********************************************************************
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
**********************************************************************
**********************************************************************
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
**********************************************************************

Reply via email to