例程可以知道它运行的单元吗?

WeG*_*ars 1 delphi

函数/过程可以知道它运行的单元/模块(并且可能将其写到文本文件中)吗?
我知道DCU/EXE文件中有很多调试信息,包括可执行代码和源代码/pas代码之间的关联。可以从例程内部访问它吗?

Uwe*_*abe 9

不是普通的函数或过程,而是类知道其声明的单元。因此任何方法都可以从UnitName类函数中获取它。

当您采用该单元中声明的任何类并调用时,您甚至可以在该单元中的普通函数或过程中使用它TWhatEverClass.UnitName

如果该单元中没有声明类,您可以为此目的声明一个虚拟类。