Delphi中获取当前行号
2024-03-16 09:54:57
自我提示:在 Delphi 中有一个简单的方法来获取当前行号,使用以下函数和 JclDebug:
1 | function GetCurrentLineNumber: Integer ; |
2 | var |
3 | ModInfo: TJclLocationInfo; |
4 | begin |
5 | ModInfo := GetLocationInfo(ReturnAddress); |
6 | Result := ModInfo . LineNumber; |
7 | end ; |
ReturnAddress是系统单元中的一个编译器魔术函数,随Delphi XE2引入。TJclLocationInfo 和 GetLocationInfo 来自JclDebug。
像这样使用它:
1 | WriteLn (GetCurrentLineNumber); |
编辑: JclDebug 已经包含一个函数LineByLevel,它与我上面的函数具有相同的功能以及更多功能。还有其他有用的函数,例如 TraceLog。