delphi - 重构 Delphi 6 事件处理程序属性的工具/实用程序?

标签 delphi properties refactoring event-handling tform

我有一个在我的应用程序代码库中广泛使用的组件(即 - 多个应用程序)。我想更改常用的事件处理程序属性之一。我需要一个工具/实用程序,它可以通过 Delphi 6 表单源文件 (DFM + PAS) 并为表单上的组件实例搜索和替换当前定义的事件处理程序。

例如。假设我在当前定义为的组件上有一个事件处理程序属性:

property eventHandler1: TOldEventHandlerProc read FOnEvent write FOnEvent;

其中 TOldEventHandlerProc 定义为:
TOldEventHandlerProc = procedure(oneParm: string) of object;

我想将 TOldEventHandlerProc 更改为:
TOldEventHandlerProc  = procedure(oneParm: string; twoParm: integer) of object;

我希望该实用程序检查表单的 DFM/PAS 文件对的内容,并根据 TOldEventHandlerProc 的新定义,找到已定义的所有 FOnEvent 实例,并将旧参数列表换成新参数列表。例如,给定一个名为 MyForm1 的表单和一个名为 MyComp1 的组件实例,您将拥有以下 IDE 为事件处理程序生成的声明:
TMyForm1 = class(TForm)
    // IDE created event handler stubs.
    procedure MyComp1OnEvent(oneParm: string);

事件处理程序的主体声明为:
procedure TMyForm1.MYCom1OnEvent(oneParm: string);

该实用程序需要找到 OnEvent() 处理程序的每个实例,并将事件处理程序的标题声明和事件处理程序的主体声明替换为事件处理程序,并交换参数列表,结果为:
TMyForm1 = class(TForm)
    // IDE created event handler stubs.
    procedure MyComp1OnEvent(oneParm: string; twoParm: integer);

事件处理程序的主体声明为:
procedure TMyForm1.MYCom1OnEvent(oneParm: string; twoParm: integer);

如果我找不到这样的工具,我会自己写一个又快又脏的工具,但我想我会问我是否可以节省一些时间。有谁知道这样的重构工具?

最佳答案

最近的 Delphi 版本中提供了重构功能。

您可以使用其中一个轻松重构您的代码,并最终修复每个 DFM 以确保 Delphi 6 兼容性。

关于delphi - 重构 Delphi 6 事件处理程序属性的工具/实用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7399300/

相关文章:

c# - 公共(public)属性(property)定义

java - 在 Java 中更改类

c++ - 寻找一些重构建议

Ruby 条件 If Else 赋值

algorithm - Delphi 7 的 Shannon-Fano 算法示例?

delphi - FMX Delphi 10.2 在执行任务时显示表单或请等待面板

php - 试图在 Yii 中获取非对象错误的属性

asp.net-mvc - ASP.Net MVC 强类型部分 View 和继承属性

macos - Delphi XE2 Firemonkey 示例应用程序未在 MAC 上运行

delphi - 如何让 VCL 和 FMX 组件具有相同的名称?