Determine if a Member/Property exists in a class

Startbeitrag von Malc am 25.07.2008 13:15

OK, I've got this class:


...CTest.is class
......PUBLIC
.........iProperty1 is int = 1
.........sProperty2 is string = "Two"
.........vProperty3 is Variant = "Three"
...END

...FUNCTION MemberExists(LOCAL psMemberName is string)
......LOCAL
.........lbExists is boolean = True
.........lvTest is Variant = Null
......WHEN EXCEPTION IN
.........lvTest = {":" + psMemberName}
......DO
.........lbExists = False
......END
...RESULT = lbExists


Now, when I do the following, everything is OK


...LOCAL
......loTest is CTest

...IF loTest:MemberExists("iProperty1") THEN
......Info("This Worked")
...END
...IF NOT loTest:MemberExists("zProperty99") THEN
......Info("This Worked")
...END


But, any attempt to use indirection outside the class fails, e.g.

...LOCAL
......loTest is CTest
......lsTest is string
......lvValue is Variant

...lsTest = "loTest:iProperty1"
...WHEN EXCEPTION IN
......lvValue = {lsTest}
...IN
......Info("Always fails")
...END


Any ideas anyone??


TIA

Malc





Antworten:

Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.