hmmm, just to clarify and eliminate any syntax errors on my side; this code will never work, will it?
Local data:TPXData = New TPXData
Local dataPtr:Byte Ptr = Varptr(data)
Local rcv:Int = Int(dataPtr)
Print rcv 'prints mem address ok
Print TPXData Ptr(rcv).data1 'illegal pointer type!