Ответ 1
Модули данных изменены с выпуском XE2. Помните, что XE2 представила новую компоненту FireMonkey в дополнение к давнему VCL. В модули данных добавлено новое псевдо-свойство с именем ClassGroup
. Это определяет, какие компоненты могут быть добавлены в модуль данных в дизайнере IDE.
По умолчанию ClassGroup
для модуля данных System.Classes.TPersistent
. Это указывает, что модуль данных нейтрален каркасом и поэтому не принимает ни компонентов VCL, ни компонентов FMX.
В вашем случае вы, вероятно, хотите принять компоненты VCL, поэтому вам нужно указать ClassGroup
Vcl.Controls.TControl
.
Читайте все о ClassGroup
в документации .
System.Classes.TDataModule и его классы-потомки, такие как Web.HTTPApp.TWebModule, имеют псевдо-свойство с именем ClassGroup, которое делает следующее:
- Определяет сродство к модулю данных. То есть ClassGroup указывает, что модуль данных является либо нейтральным, либо нейтральным или должен работать с определенной структурой (а именно VCL или FMX).
- Включает не зависящие от структуры компоненты в палитре инструментов. Вы должны установить значение, специфичное для платформы для ClassGroup, в Инспектор объектов, чтобы включить нестандартный такие компоненты, как:
- TActionList - только VCL, и поэтому для включения TActionList в палитре инструментов вы должны установить ClassGroup в настройку VCL.
- TTimer существует как в FMX, так и в VCL. Чтобы включить TTimer для правильной структуры, вы должны установить ClassGroup в FMX или VCL, чтобы соответствуют структуре родительского приложения. (TTimer и TActionList далее рассматриваются в этом разделе.)