>>LOCAL FN receiveRect(@rectAddr&) 'Takes address of var passed >>'do something >>END FN >> >>FN receiveRect(t%) > >When you pass an address, it has to be passed as a long integer. You'll >want to do something like this: > >local fn receiveRect(@rectAddr&) > dim bottom% > rectAddr&.top%=30 > bottom%=rectAddr&.bottom% > print rectAddr&.right% > etc. >end fn > >local fn doRect > dim myRect.8 > call setrect(myRect,0,0,100,100) > fn receiveRect(myRect) >end fn > >fn doRect I _think_ that's the same as what I did. The only difference I see is that I assumed (but probably should have included) a DIM t%,l%,b%,r% for the rect rather than an actual rect.8 variable, because that's what Mark said he was using. I find this simpler, and the same address gets passed either way. For clarity (and flexibility) I will often use DIM myRect;0,t%,l%,b%,r% Then I can use either myRect or t%--their addresses are the same. 0"0 =J= a y "