Delphi程序如何精确识别并追踪具体哪个子程序或模块调用了另一个程序模块?
- 内容介绍
- 文章标签
- 相关推荐
本文共计318个文字,预计阅读时间需要2分钟。
要简单改写这段伪代码,并确保不超过100个字,可以这样做:
pseudocode定义 Showme(str: string) 过程 显示 str结束过程定义 btnclick(sender: TObject) 过程 调用 Showme(test)结束过程定义 btn2click(sender: TObject) 过程 调用 Showme(test)结束过程
这样改写后,代码更加简洁,去除了不必要的注释和空格。
我怎样才能确定谁叫了Showme程序?procedure Showme(str:string); begin ShowMessage(str); end; procedure btnclick(sender:TObject); begin Showme("test"); end; procedure btn2click(sender:TObject); begin Showme("test"); end;
编辑:困惑
Showme(654, '654'); // procedure name, string Showme(654, '564'); 一个过程没有内置的方法来知道哪个过程调用它.如果您真的需要知道,可以使用堆栈跟踪,但实际上只需要调试那种数据.对于实际执行,重要的是传递给例程的数据,而不是传递给它的地方.这是结构化编程的基本原则之一.如果两个不同的例程使用相同的数据调用相同的过程,则应将它们视为相同.
你究竟在做什么,你需要能够分辨出什么?可能有一种更简单的方法来实现它.
本文共计318个文字,预计阅读时间需要2分钟。
要简单改写这段伪代码,并确保不超过100个字,可以这样做:
pseudocode定义 Showme(str: string) 过程 显示 str结束过程定义 btnclick(sender: TObject) 过程 调用 Showme(test)结束过程定义 btn2click(sender: TObject) 过程 调用 Showme(test)结束过程
这样改写后,代码更加简洁,去除了不必要的注释和空格。
我怎样才能确定谁叫了Showme程序?procedure Showme(str:string); begin ShowMessage(str); end; procedure btnclick(sender:TObject); begin Showme("test"); end; procedure btn2click(sender:TObject); begin Showme("test"); end;
编辑:困惑
Showme(654, '654'); // procedure name, string Showme(654, '564'); 一个过程没有内置的方法来知道哪个过程调用它.如果您真的需要知道,可以使用堆栈跟踪,但实际上只需要调试那种数据.对于实际执行,重要的是传递给例程的数据,而不是传递给它的地方.这是结构化编程的基本原则之一.如果两个不同的例程使用相同的数据调用相同的过程,则应将它们视为相同.
你究竟在做什么,你需要能够分辨出什么?可能有一种更简单的方法来实现它.

