gpt4 book ai didi

delphi - 如何在运行时(Delphi/Windows)程序中添加代码?

转载 作者:行者123 更新时间:2023-12-03 15:45:55 28 4
gpt4 key购买 nike

我正在Windows XP/Delphi 7上工作。我需要在正在运行的程序中添加一些过程(或函数),并且我不想在完成后再次重新编译它。

我只有一个具有 5 个函数的主机应用程序来发送不同类型的警报,但是还有其他新的警报类型,因此我必须执行新的函数来发送这些警报,但我不应该重新构建主机应用程序。我有一个名为 TAlarmManager 的类,它是通过调用这些函数来调用的。

也许是一个插件?好的,但是我怎样才能“插入”新功能???教程、手册、书籍等...用于学习此内容,或有关如何执行此操作的任何建议???

我研究过插件(我对这个主题完全陌生),但没有人“谈论”向主机应用程序添加功能。在我看来,插件是从自身添加功能的,我的意思是,它们是用自代码开发的,用于执行某些操作,而不是向主机应用程序“添加”代码...我该怎么做?

最佳答案

技术方面:Delphi IDE 是如何做到的?那将是我首先要看的地方。

要了解插件,您必须了解您无法添加新功能。您可以,但由于旧代码不知道如何调用它,因此不会调用它们。

因此,您要做的就是向插件添加“注册”或“启动”功能。该启动函数获取一个数据结构作为参数,可以检查或扩展该数据结构。在您的情况下,这将是警报列表。警报总是以相同的方式工作(我的猜测),因此它可以添加额外的警报。

注册所有插件后,主代码将遍历警报列表并调用每个插件的标准警报函数。它不再关心每个警报来自哪里以及它的真正用途。

这里的关键:你需要定义一个双方都订阅的接口(interface)。主代码调用接口(interface)函数,您的插件代码实现它们。

关于delphi - 如何在运行时(Delphi/Windows)程序中添加代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1560878/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com