将一些方法移动到不同的文件中?

Move some of the methods into a different file?

我的主窗体中有很多 OnClick 和类似事件。很难在它们都在 Unit1.pas 中的位置之间导航。 我将它们移动到不同的 pas 文件并将其添加到我的 Unit1.pas:

{$INCLUDE Menu.pas}

但现在 Delphi 想要删除 OnClick 事件。所以它不能正常工作。 如何将我的代码拆分到不同的文件中?

您不能将表单的事件处理程序移动到 .inc 文件,IDE 将不知道如何处理它。在设计时 分配的事件处理程序 需要可定位和编辑,这意味着它们必须与表单本身位于同一源文件中。

您可以做的是将事件处理程序移动到之前创建并由相关表单使用的 TDataModule。只要 DataModule 的单元包含在表单 interface 部分的表单 uses 子句中,IDE 就应该允许您在设计时分配事件处理程序 。如果您使用 Object Inspector 创建新的事件处理程序,则必须手动将它们移动到 DataModule 并相应地重新分配事件。

否则,您真正能做的就是重构代码以减少每个事件处理程序中的代码量,甚至减少使用的事件处理程序的数量。然后您可以使用代码编辑器的代码折叠功能隐藏剩余的代码,这样您就看不到它,但它仍然存在于 IDE 和编译器中。