Delphi中如何识别特定程序被哪个程序所调用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计352个文字,预计阅读时间需要2分钟。
要简化这段伪代码,我们可以去掉一些不必要的细节,并且尽量保持代码的简洁性。以下是简化后的版本:
pascalprocedure Showme(str: string);begin ShowMessage(str);end;
procedure btnclick(sender: TObject);begin Showme(test);end;
procedure btn2click(sender: TObject);begin Showme(test);end;
这段代码中,我们保留了`Showme`过程和两个按钮点击事件处理程序`btnclick`和`btn2click`,它们都调用了`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'); 一个过程没有内置的方法来知道哪个过程调用它.如果您真的需要知道,可以使用堆栈跟踪,但实际上只需要调试那种数据.对于实际执行,重要的是传递给例程的数据,而不是传递给它的地方.这是结构化编程的基本原则之一.如果两个不同的例程使用相同的数据调用相同的过程,则应将它们视为相同.
你究竟在做什么,你需要能够分辨出什么?可能有一种更简单的方法来实现它.
本文共计352个文字,预计阅读时间需要2分钟。
要简化这段伪代码,我们可以去掉一些不必要的细节,并且尽量保持代码的简洁性。以下是简化后的版本:
pascalprocedure Showme(str: string);begin ShowMessage(str);end;
procedure btnclick(sender: TObject);begin Showme(test);end;
procedure btn2click(sender: TObject);begin Showme(test);end;
这段代码中,我们保留了`Showme`过程和两个按钮点击事件处理程序`btnclick`和`btn2click`,它们都调用了`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'); 一个过程没有内置的方法来知道哪个过程调用它.如果您真的需要知道,可以使用堆栈跟踪,但实际上只需要调试那种数据.对于实际执行,重要的是传递给例程的数据,而不是传递给它的地方.这是结构化编程的基本原则之一.如果两个不同的例程使用相同的数据调用相同的过程,则应将它们视为相同.
你究竟在做什么,你需要能够分辨出什么?可能有一种更简单的方法来实现它.

