>I have a moment of brain shortage, right now I can't see the forest for all the trees. Is it possible from within an object to know what is the name it's instantiated as? Given this code
>
>
>loCountries = NewObject('SqlTable','SQL.vcx')
>
>In this case I want the class SqlTable to understand that it's instantiated as loCountries. I am building a rather complicated generic class to work with SQL tables. My idea is that if I call the object for instance loCountries, my class can be smart enough to know that I want it to connect to the SQL table called Countries.
I'd be inclined to pass in parameter(s):
loCountries = NewObject('SqlTable','SQL.vcx', 'Countries', MyParam2, ... )
Or has already been suggested, set an object property after it's created.
In your sample code you may be working on a concrete method using Countries, so you want to use loCountries. But if in fact it's generic and you are generating the variable name, then there probably already is a parameter or property used to generate the variable name, so you could just pass that to the SQL object.
Something like that is likely to be simpler to maintain and more robust than deriving the variable name.
Regards. Al
"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov
Neither a despot, nor a doormat, be
Every app wants to be a database app when it grows up