Functions.ProcLine 方法 (UInt32) | |
返回激活实体中最后执行的行的源行号。
命名空间:
XSharp.Core
程序集:
XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法 FUNCTION ProcLine(
dwActivation AS DWORD
) AS DWORD
public static uint ProcLine(
uint dwActivation
)
查看代码参数
- dwActivation
- 类型:UInt32
指定要查询的激活。0 指当前激活,1 指上一个激活,依此类推。
默认值为 0。
返回值
类型:
UInt32
对于当前激活,ProcLine() 返回当前行的行号。
对于先前的激活,ProcLine() 返回调用当前实体中 ProcLine() 的过程、函数或方法的行号。
由于 X# 不是基于文件的,行号是相对于激活实体的开始,而不是相对于包含该实体的源文件的开始。
一行可以包括注释、空行、自定义命令或续行。
多语句行计算为单行。
备注
ProcLine() 查询 X# 激活堆栈以确定当前正在执行的过程、函数或方法中的最后一行。
ProcLine() 与 ProcFile() 和 ProcName() 一起使用,以报告调试信息。ProcLine() 和 ProcName() 受到应用程序菜单中的两个选项的控制:
1. 应用程序编译器选项显示 CA-Clipper 兼容性选项列表,其中之一是 PROCNAME/PROCLINE:
如果选择了 PROCNAME/PROCLINE,这些函数将准确编译和运行。
如果未选择 PROCNAME/PROCLINE,这些函数将编译和运行,但可能不会产生准确的结果。
2. 应用程序属性显示调试选项。
如果选择了此选项,这些函数即使在未选择 PROCNAME/PROCLINE 的情况下也会产生准确的结果。
SET PROCLINE 命令在实体级别覆盖这些编译器选项和应用程序设置。有关更多信息,请参见 SET PROCLINE 条目。
示例
此示例呈现一个可以在程序开发的调试阶段调用的函数,以显示激活堆栈的一部分及行号:
1FUNCTION Start()
2 ? "运行中"
3 MyFunction()
4FUNCTION MyFunction() AS VOID
5 ? ProcLine()
6 ? ProcLine(1)
参见