I try not to keep things so global personally. Just a different approach.
The handle of that list (the ID) is always unique, so there is no way to get the same one twice.
type SomeList Field ID Field otherfields End Type ;=====Main Loop MyThing = createsomething() ModifySomething(MyThing) ;====End Main Loop Function CreateSomething() local T.SomeList T.SomeList = new SomeList T\ID = handle(T.SomeList) return T\ID End Function Function ModifySomething(ID) local T.SomeList T=object.SomeList(ID) ;Just in case i deleted it somewhere and my codes isn't clean, check to make ;-sure it is still in the list if T <> null then ;modify things here Endif End Function
The handle of that list (the ID) is always unique, so there is no way to get the same one twice.