0

我正在覆盖 TRTTIEnvironment 并正在实现函数 FindUnknownName()。我想返回一个已通过 ExposeInstanceToUnit() 公开给程序的符号。在我的一些脚本中,全局对象的属性在脚本中但没有对象。例如。全局对象“用户”具有属性用户名。“用户名”在脚本中,而不是“用户名”。

FindUnknownName 中的代码是

sym := compiler.CurrentProg.Table.FindSymbol("User", cvMagic);
result := TPropertySymbol(TClassSymbol(sym.Typ).Members.FindSymbol(name, cvMagic)).ReadSym;

这里的问题是它返回属性的类符号,因为它不是类属性,所以它会 AV。

非常感谢任何帮助获取 User 实例的属性符号。

4

0 回答 0