Bernie wrote: > I'm missing something really basic here. > After adding a set of longs to a handle I want to pick out those > numbers one at a time. Can someone show me where I'm going wrong? > BlockMove(h + ((index - 1) * (SizeOf(ControlRef))), @subRef, SizeOf > (ControlRef)) Dereference the Handle to get a pointer. I would write it as: BlockMoveData( [h] + (index - 1) * SizeOf(ControlRef), @subRef, SizeOf (ControlRef) ) Robert P.