At least it is easy to work around...

On Tue, 09 Jul 2019 20:18:18 +0100, Narinder Chandi via 4D_Tech wrote:
> Well, that is quite odd given that is "just" an array after all but 
> internally it seems 4D is treating it is something a bit different?? 
> It seems like an interpreter bug to me...
> 
> Regards,
>  
> Narinder Chandi,
> ToolBox Systems Ltd.
> -- 
> 
> -----Original Message-----
> From: Chip Scheide <[email protected]>
> Date: Tuesday, 9 July 2019 at 20:01
> To: 4D Tech Mailing List <[email protected]>
> Cc: Narinder Chandi <[email protected]>
> Subject: Re: What is wrong with this statement? Corrected
> 
>     hmm v12...
>     
>     OK - I tracked it down.
>     
>     It has to do with Listboxes....
>     a 'normal' array works as expected, however, if the array is a listbox 
>     column (array based - did not try a selection listbox) then the code 
>     fails.
>     
>     For some reason, when referencing the contents of a listbox column the 
>     value inside the { } can not be an expression (at least in v13). Even a 
>     simple expression {2+8-6} fails.
>     
>     Chip
>     
>     
>     
>     On Tue, 09 Jul 2019 19:32:05 +0100, Narinder Chandi via 4D_Tech wrote:
>     > That was with 17.2 Mac and I also tested the same code just now with 
>     > 15.4 Mac and 12.4 Mac successfully too.
>     > 
>     > Regards,
>     >  
>     > Narinder Chandi,
>     > ToolBox Systems Ltd.
>     > -- 
>     > 
>     > -----Original Message-----
>     > From: 4D_Tech <[email protected]> on behalf of 4D Tech 
>     > Mailing List <[email protected]>
>     > Reply-To: 4D Tech Mailing List <[email protected]>
>     > Date: Tuesday, 9 July 2019 at 19:16
>     > To: 4D Tech Mailing List <[email protected]>
>     > Cc: Chip Scheide <[email protected]>
>     > Subject: Re: What is wrong with this statement? Corrected
>     > 
>     >     what version - it might be that the issue is resolved in a newer 
>     >     version (>v13) then I am working in...
>     >     
>     >     On Tue, 09 Jul 2019 18:30:33 +0100, Narinder Chandi via 
> 4D_Tech wrote:
>     >     > Chip,
>     >     > 
>     >     > If I interpreted it correctly, I just created this code 
> block based 
>     >     > on your spec. and variable naming:
>     >     > 
>     >     > ARRAY LONGINT(array1;2)
>     >     > array1{1}:=4
>     >     > array1{2}:=2
>     >     > 
>     >     > ARRAY LONGINT(array2;10)
>     >     > C_LONGINT($i)
>     >     > For ($i;1;10)
>     >     >   array2{$i}:=-$i
>     >     > End for
>     >     > 
>     >     > C_POINTER($Return_ptr)
>     >     > C_POINTER($Column1)
>     >     > $Return_ptr:=->array1
>     >     > $Column1:=->array2
>     >     > 
>     >     > C_LONGINT($Item)
>     >     > $Item:=2
>     >     > 
>     >     > C_LONGINT($Result)
>     >     > $Result:=$Column1->{$Return_ptr->{$Item}}
>     >     > TRACE
>     >     > 
>     >     > It doesn't generate an error for me and the debugger shows the 
>     >     > expected values when I execute it. Is my implementation 
> "incorrect"? 
>     >     > ...or there is it down to some other issue??
>     >     > 
>     >     > Regards,
>     >     > Narinder Chandi,
>     >     > ToolBox Systems Ltd.
>     >     > -- 
>     >     > 
>     >     > -----Original Message-----
>     >     > From: Chip Scheide <[email protected]>
>     >     > Date: Tuesday, 9 July 2019 at 17:57
>     >     > To: 4D Tech Mailing List <[email protected]>
>     >     > Cc: Narinder Chandi <[email protected]>
>     >     > Subject: Re: What is wrong with this statement? Corrected
>     >     > 
>     >     >     yes - an intermediate value works, I was more 
> wondering why the 
>     >     >     original statement will not work...
>     >     >     as it appears to be a perfectly valid statement.
>     >     >     
>     >     >     Replacing the array element reference with a simple math 
>     > formula works. 
>     >     >     i.e.
>     >     >     Array{2+8-6} 
>     >     >     give the value of element 4 (assuming there is one)
>     >     >     
>     >     >     there should not be an issue with a valid formula 
> inside set 
>     >     >     brackets....
>     >     >     ohh well...
>     >     >     
>     >     >     Chip
>     >     >     
>     >     >     
>     >     >     On Tue, 09 Jul 2019 17:32:10 +0100, Narinder Chandi via 
>     > 4D_Tech wrote:
>     >     >     > Does it work if you do use an intermediate value? e.g.
>     >     >     > 
>     >     >     > $value:= $Return_ptr-> {$Item}
>     >     >     > $Result:= $Column1 ->{$value}
>     >     >     > 
>     >     >     > Regards,
>     >     >     >  
>     >     >     > Narinder Chandi,
>     >     >     > ToolBox Systems Ltd.
>     >     >     > -- 
>     >     >     > 
>     >     >     > -----Original Message-----
>     >     >     > From: 4D_Tech <[email protected]> on behalf of 
>     > 4D Tech 
>     >     >     > Mailing List <[email protected]>
>     >     >     > Reply-To: 4D Tech Mailing List <[email protected]>
>     >     >     > Date: Tuesday, 9 July 2019 at 17:16
>     >     >     > To: 4D Tech Mailing List <[email protected]>
>     >     >     > Cc: Chip Scheide <[email protected]>
>     >     >     > Subject: Re: What is wrong with this statement? Corrected
>     >     >     > 
>     >     >     >     My bad -- the correct line of code that is failing is:
>     >     >     >     $Result:= $Column1 ->{ $Return_ptr-> {$Item} }
>     >     >     >     
>     >     >     >     On Tue, 9 Jul 2019 12:14:37 -0400, Chip Scheide via 
>     > 4D_Tech wrote:
>     >     >     >     > $Result:= $Column1{ $Return_ptr{$Item} }
>     >     >     >     ---------------
>     >     >     >     Gas is for washing parts
>     >     >     >     Alcohol is for drinkin'
>     >     >     >     Nitromethane is for racing 
>     >     >     >     
>     >     > 
> **********************************************************************
>     >     >     >     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]
>     >     >     >     
>     >     > 
> **********************************************************************
>     >     >     > 
>     >     >     > 
>     >     >     > 
>     > **********************************************************************
>     >     >     > 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]
>     >     >     > 
>     > **********************************************************************
>     >     >     ---------------
>     >     >     Gas is for washing parts
>     >     >     Alcohol is for drinkin'
>     >     >     Nitromethane is for racing 
>     >     > 
>     >     > 
>     >     > 
> **********************************************************************
>     >     > 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]
>     >     > 
> **********************************************************************
>     >     ---------------
>     >     Gas is for washing parts
>     >     Alcohol is for drinkin'
>     >     Nitromethane is for racing 
>     >     
> **********************************************************************
>     >     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]
>     >     
> **********************************************************************
>     > 
>     > 
>     > **********************************************************************
>     > 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]
>     > **********************************************************************
>     ---------------
>     Gas is for washing parts
>     Alcohol is for drinkin'
>     Nitromethane is for racing 
> 
> 
> **********************************************************************
> 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]
> **********************************************************************
---------------
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**********************************************************************
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