It seems to me the whole thing is just plain wrong.
First, this code must be driving a pointer somewhere crazy, but it's managing to stay out of the pc insane asylumn.
Next, it seems the combination of .udt's is more important than the sequence or the quantity. Check this modified code.
Type test1
x as test2
y as test2
z as integer
Endtype
Type test2
a as test1
b as test1
c as integer
Endtype
Global test as test1
test.x.a.z=1
test.x.a.y.b.z=2
Print test.x.a.z
Print test.x.b.y.a.z ` Note, the b & a are reversed.
Wait key
Now, knowing kind-of how this works - guess this one. Will it work? What's the output?
Type test1
x as test2
y as test2
z as integer
Endtype
Type test2
a as test1
b as test1
c as integer
Endtype
Global test as test1
test.a.x.c=1
test.b.x.a.y.c=2
Print test.a.x.c
Print test.a.x.b.y.c
Wait key
"Droids don't rip your arms off when they lose." -H. Solo
REALITY II