Время от времени, когда я настраиваю свои классы TFrame (добавляя свойства, методы и т. Д.), 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 как текстовые, а не двоичные (если это вообще имеет значение).