A bote pronto y usando la valiosa opción
Find In Files del IDE, he podido ver que el mensaje de error (por eso es bueno poner los mensajes de error exactos) corresponde a la constante sClassNotApplicable de la unidad DesignEditors.pas:
Código Delphi
[-]
resourcestring
sClassNotApplicable = 'Class %s is not applicable to this module';
En esa misma unidad, la constante es utilizada para elevar una excepción en el método TCustomModule.ValidateComponent, dependiendo de lo que resulte una llamada al método TCustomModule.ValidateComponentClass:
Código Delphi
[-]
procedure TCustomModule.ValidateComponent(Component: TComponent);
begin
if not ValidateComponentClass(TComponentClass(Component.ClassType)) then
raise Exception.CreateResFmt(@sClassNotApplicable, [Component.ClassName]);
end;
function TCustomModule.ValidateComponentClass(ComponentClass: TComponentClass): Boolean;
var
Base: TComponent;
begin
if FFinder = nil then
begin
Base := Root;
if Base.Owner <> nil then
Base := Base.Owner;
FFinder := TClassFinder.Create(TPersistentClass(Base.ClassType));
end;
while IsProxyClass(ComponentClass) do
ComponentClass := TComponentClass(ComponentClass.ClassParent);
Result := FFinder.GetClass(ComponentClass.ClassName) = ComponentClass;
end;
Habría que investigar un poco más, pero de entrada,
armando, estás intentando agregar un componente rejilla a un tipo de contenedor que por algún motivo no lo admite.
Puede ser que estés usando un formulario no estándar, un módulo de datos, o algún otro tipo de contenedor especial, o bien que tu proyecto no sea de tipo aplicación Windows nativa. Pero también puede tratarse de algún paquete de componentes (incluso nativo) o accesorio que no esté bien registrado en el IDE.
¿Podrías darnos algo más de información que ayude a esclarecer el problema?
Saludos.
Al González.