从主机应用程序调用函数

时间:2019-02-06 09:22:53

标签: delphi components

我想从新组件的宿主应用程序中调用一个函数。 基本上我想从另一个项目中调用一个函数。

有没有办法做到?

该组件是一个导航器,应调用搜索功能,该代码已在其他项目中编码

1 个答案:

答案 0 :(得分:1)

您希望该组件能够在其宿主中调用函数。该组件不应该知道其主机的内部详细信息,这就是为什么您无法简单地调用该函数。通过让主机为组件提供回调函数来解决该问题。

例如,您可以这样处理:

  1. 在您的组件中添加一个事件,以表示搜索功能回调。
  2. 当组件需要执行搜索功能时,应调用事件处理程序(如果已提供)。
  3. 在您的宿主项目中实现此事件的处理程序。
  4. 在宿主项目中,创建组件后,将事件属性设置为引用事件处理程序。

这完全类似于OnClick的{​​{1}}事件处理程序的工作方式。按钮控件类似于您的组件。该按钮对主机应用程序一无所知。当需要响应单击时,将触发主机应用程序提供的事件。