Инструмент / утилита для рефакторинга свойств обработчика событий Delphi 6?

У меня есть компонент, который широко используется в кодовой базе моего приложения (то есть - несколько приложений). Я хочу изменить одно из часто используемых свойств обработчика событий. Мне нужен инструмент / утилита, которая будет проходить через исходный файл формы 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 формы и нашла все экземпляры FOnEvent, которые были определены, и заменила старый список параметров на новый список параметров на основе нового определения TOldEventHandlerProc. Например, если у вас есть форма с именем 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);

Если я не смогу найти такой инструмент, я сам напишу быструю и грязную, но я решил спросить, смогу ли я сэкономить время. Кто-нибудь знает такой инструмент рефакторинга?

1 ответ

Функция рефакторинга доступна в последней версии Delphi.

Вы можете легко реорганизовать свой код с помощью одного из них и в конечном итоге исправить все DFM, чтобы обеспечить совместимость с Delphi 6.

Другие вопросы по тегам