将一些方法移动到不同的文件中?
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 和编译器中。
我的主窗体中有很多 OnClick 和类似事件。很难在它们都在 Unit1.pas 中的位置之间导航。 我将它们移动到不同的 pas 文件并将其添加到我的 Unit1.pas:
{$INCLUDE Menu.pas}
但现在 Delphi 想要删除 OnClick 事件。所以它不能正常工作。 如何将我的代码拆分到不同的文件中?
您不能将表单的事件处理程序移动到 .inc
文件,IDE 将不知道如何处理它。在设计时 分配的事件处理程序 需要可定位和编辑,这意味着它们必须与表单本身位于同一源文件中。
您可以做的是将事件处理程序移动到之前创建并由相关表单使用的 TDataModule
。只要 DataModule 的单元包含在表单 interface
部分的表单 uses
子句中,IDE 就应该允许您在设计时分配事件处理程序 。如果您使用 Object Inspector 创建新的事件处理程序,则必须手动将它们移动到 DataModule 并相应地重新分配事件。
否则,您真正能做的就是重构代码以减少每个事件处理程序中的代码量,甚至减少使用的事件处理程序的数量。然后您可以使用代码编辑器的代码折叠功能隐藏剩余的代码,这样您就看不到它,但它仍然存在于 IDE 和编译器中。