I didn't include .destroy to show anything in regards to the question other than to show that you can use an object once it has been established it exists. Interesting though, the three functions have different behaviors. If the object exists, ? o.name returns the name, ? isnull(o) returns .F. and type('o') returns O. If I say o = .null. ?o.name returns Error: o is not an object ?isnull(o) returns .T. and ? type('o') returns O. If I release the object from memory, ?o.name returns Error: Alias o is not found, ? isnull(o) returns Variable o is not found, and ? type('o') returns U.
So, I guess it depends upon what it is you are trying to understand about some potential object?
Eric Kleeman - EDS Consulting Services
MCP Visual FoxPro
MCSD C#.NET
Hua Hin Thailand
Los Angeles California