Отключение дизайнера форм в DelphiXE - PullRequest
6 голосов
/ 22 июля 2011

Возможно ли отключить конструктор форм в DelphiXE «по требованию / выборочно» и работать только с кодом формы / класса там, где это необходимо, если элементы управления не установлены в IDE?

Ответы [ 3 ]

2 голосов
/ 22 июля 2011

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

1 голос
/ 22 июля 2011

Нет, и в настоящее время для этого нет разумного обходного пути.

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

В конце концов, есть только одно практическое решение; Установите все элементы управления. Все остальное просто сводит вас с ума.

1 голос
/ 22 июля 2011

Нет, вы не можете отключить его выборочно.Что я часто делаю (поскольку у меня почти нет элементов управления, установленных в большинстве моих IDE), так это то, что я просто открываю форму, приказываю Delphi игнорировать все ошибки при загрузке dfm, редактирую исходный код и убеждаюсь, что я неt проверьте в dfm моей системы контроля версий.

Вы можете попытаться сохранить dfm только для чтения, чтобы избежать ошибочной проверки dfm с удаленными элементами управления, но есть недостаток: каждый раз, когда вы пытаетесь сохранитьВаш источник IDE выдаст ошибку об отсутствии доступа к файлу.Если вы нажимаете Ctrl-S или Shft-Ctrl-S так часто, как я, это быстро становится неприятностью.

Когда мне нужно изменить dfm, я делаю это в текстовом режиме или устанавливаю элементы управления, делаю изменения dfm и отправляю.После этого я снова могу деинсталлировать элементы управления и просто работать над файлом pas, игнорируя / отменяя любые изменения в dfm.

...