Время от времени, когда я настраиваю классы TFrame (добавление свойств, методов и т. Д.), Среда IDE запутывается и действует так, как будто она считает, что кадр является формой, в комплекте с заголовком/заголовком, границами и т. д. Но, очевидно, класс объявляется потомком TFrame. Любые идеи относительно того, что вызывает это, как предотвратить и как исправить?Delphi IDE обрабатывает TFrame, как если бы это была форма
Я использую Delphi 2007 Pro. Также обратите внимание (если это имеет значение), потомки TFrame обычно регистрируются с помощью IDE (то есть на палитре) через пакет времени разработки.
Позже: Дополнительная «Специфика»: Фрейм, что у меня эта проблема с в данный момент, визуально, очень простой TFrame (только переход от нового TFrame является размером, и цвета фона).
Вот его объявление класса:
TBasePanel = class(TFrame)
private
FPanelManager: TPanelManager;
procedure SetPanelManager(const Value: TPanelManager);
protected
procedure Connect; virtual; abstract;
procedure Disconnect; virtual; abstract;
procedure Refresh; virtual;
procedure Requery; virtual; abstract;
published
property PanelManager: TPanelManager read FPanelManager write
SetPanelManager;
Этот кадр используется в качестве базового класса для ряда других. Обычно я редактирую его непосредственно из проекта BPL, к которому он принадлежит (поскольку все эти фреймы устанавливаются в палитру), а не как часть проекта EXE, со связанными формами и т. Д.
Также, «Встроенный дизайнер», проверяется в Инструменты -> Параметры.
Я сохраняю все файлы DFM как текст, а не бинарный (если это вообще имеет значение).
Просто обновление по этому вопросу: ответ кажется комбинацией ответа birger ниже PLUS, создающего «Base Frame Class», который НЕ имеет никаких изменений в обычном TFrame, и THEN, наследуя от него, перед добавлением каких-либо свойств, методов и т. Д. Кажется, что-то стабилизирует потоки наследования. – Jamo