我正在重写TRTTIEnvironment并正在实现函数FindUnknownName()。我想通过ExposeInstanceToUnit()返回已经暴露给程序的Symbol。 在我的一些脚本中,全局对象的属性在脚本中但没有对象。 例如。 全局对象“User”具有属性UserName。 “UserName”在脚本中不是“User.UserName”。
FindUnknownName中的代码是
sym := compiler.CurrentProg.Table.FindSymbol("User", cvMagic);
result := TPropertySymbol(TClassSymbol(sym.Typ).Members.FindSymbol(name, cvMagic)).ReadSym;
这里的问题是它返回属性的类Symbol,因为它不是类属性,它将AV。
获取用户实例的属性符号的任何帮助都非常感谢。