Delphi中如何识别特定程序被哪个程序所调用?

更新于
2026-10-04 22:32:12
0阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计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'); 一个过程没有内置的方法来知道哪个过程调用它.如果您真的需要知道,可以使用堆栈跟踪,但实际上只需要调试那种数据.对于实际执行,重要的是传递给例程的数据,而不是传递给它的地方.这是结构化编程的基本原则之一.如果两个不同的例程使用相同的数据调用相同的过程,则应将它们视为相同.

你究竟在做什么,你需要能够分辨出什么?可能有一种更简单的方法来实现它.