Перенести некоторые методы в другой файл? - PullRequest
0 голосов
/ 05 мая 2020

У меня много OnClick и подобных событий в моей основной форме. Трудно перемещаться между ними, где они все находятся в Unit1.pas. Я переместил их в другой файл pas и добавил это в свой Unit1.pas:

{$INCLUDE Menu.pas}

Но теперь Delphi хочет удалить события OnClick. Так что это не работает должным образом. Как разделить код на разные файлы?

1 Ответ

4 голосов
/ 05 мая 2020

Вы не можете переместить обработчики событий формы в файл .inc, IDE не знает, как с этим справиться. Обработчики событий, назначенные во время разработки , должны быть доступны для поиска и редактирования, а это означает, что они должны находиться в том же исходном файле, что и сама форма.

Вместо этого вы можете переместить обработчики событий в TDataModule, который создается до и используется данной формой. Пока модуль DataModule включен в предложение формы uses в разделе формы interface, среда IDE должна позволять вам назначать обработчики событий во время разработки . Если вы используете инспектор объектов для создания новых обработчиков событий, вам придется вручную переместить их в DataModule и переназначить события соответствующим образом.

В противном случае все, что вы действительно можете сделать, это реорганизовать свой код, чтобы уменьшить количество кода в каждом обработчике событий или даже уменьшить количество используемых обработчиков событий. А затем вы можете использовать функцию сворачивания кода редактора кода, чтобы скрыть оставшийся код, чтобы вы не видели его, но он все еще существует для IDE и компилятора.

...