Jeremy,
as I am sure you know pointers in 4D have some 'quirks'.
I suspect that you have found another.

Chip

On Tue, 26 Feb 2019 07:18:36 +0000, Jeremy Roussak via 4D_Tech wrote:
> Kirk,
> 
> My apologies. I mistyped the offending lines!
> 
> The lines causing the error dereference the pointers. So they are
> 
> $to.toDate->:=$from.toDate->
> $to.toAge->:=$from.toAge->
> etc.
> 
> The curious things are that (a) the dereferenced pointers do 
> definitely point at variables of the same type; (b) although I get an 
> alert with the error message, the assignment does in fact work (that 
> is, if I click “continue”, everything is exactly as it should be 
> when the method completes).
> 
> I can get round the error by using pointer variables:
> 
> $pTo:=$to.toDate
> $pFrom:=$from.toDate
> $pTo->:=$pFrom->
> 
> which works fine. I just don’t understand the actual error message, 
> since I’m not doing what it’s accusing me of doing.
> 
> Jeremy
> 
> 
> 
>> On 25 Feb 2019, at 16:47, Kirk Brooks via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> Jeremy,
>> Since you are writing the data to an object what's the value of using the
>> pointer? Why not just write the data?
>> 
>> In fact, since TCMGetRow looks like it is simply holding the data for the
>> transfer you could make it a loop:
>> 
>> For($i;1;number of objects)
>> 
>> $o["_"+string($i)]:=Object get pointer(Object named;$root+string($i))->
>> 
>> End for
>> 
>> This way you don't need to care about the data type assuming the 2 objects
>> actually have the same typed objects for each index.
>> 
>> But to specifically answer your question I would take a look at the way the
>> date value is stored in your object and then how you reference it. There's
>> another post about dates and objects that sounds on point with what you are
>> doing.
>> 
>> 
>> On Mon, Feb 25, 2019 at 7:37 AM Jeremy Roussak via 4D_Tech <
>> 4d_tech@lists.4d.com> wrote:
>> 
>>> I have a form which shows a variable number of rows of numbers and text.
>>> The rows are created using OBJECT DUPLICATE on each of the 
>>> half-dozen items
>>> in the row (yes, using a collection listbox might be a better way 
>>> do to it,
>>> but I wrote this code a while ago). If a row is deleted, I need to 
>>> copy the
>>> contents of the rows beneath it upwards.
>>> 
>>> 
>>> So I have a method which creates an object and populates it with pointers
>>> to the created variables. I call this to get a set of pointers to one row,
>>> then again to get a set to the next row, and then I copy.
>>> 
>>> I start
>>> 
>>> C_OBJECT($from;$to)
>>> $from:=TCMGetRow($start)
>>> 
>>> then in a loop,
>>> 
>>> $to:=$from
>>> $from:=TCMGetRow($i)
>>> 
>>> $to.toDate:=$from.toDate
>>> $to.toAge:=$from.toAge
>>> etc.
>>> 
>>> 
>>> 
>>> TCMGetRow has
>>> 
>>> C_OBJECT($0;$o)
>>> C_LONGINT($1;$row)
>>> $row:=$1
>>> 
>>> C_TEXT($root)
>>> 
>>> $root:="vr"+String($row)+"c"
>>> $o:=New object
>>> 
>>> $o.toDate:=OBJECT Get pointer(Object named;$root+"0")
>>> $o.toAge:=OBJECT Get pointer(Object named;$root+"1")
>>> etc
>>> 
>>> $0:=$o
>>> 
>>> I’m getting the message in the subject line in the main loop for each
>>> assignment, but only when compiled; interpreted, it works fine. In the
>>> debugger, the pointers in $to and $from point to variables of the 
>>> same type.
>>> 
>>> I’m quite new to extensive use of objects. What am I missing?
>>> 
>>> Jeremy
>>> 
>>> **********************************************************************
>>> 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
>>> **********************************************************************
>> 
>> 
>> 
>> -- 
>> Kirk Brooks
>> San Francisco, CA
>> =======================
>> 
>> What can be said, can be said clearly,
>> and what you can’t say, you should shut up about
>> 
>> *Wittgenstein and the Computer *
>> **********************************************************************
>> 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
> **********************************************************************
---------------
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:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to