Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=70873)

armando 16-11-2010 16:00:22

dbgrid
 
hola nuen dia:)
e instalado delphi 7
pero al agregar un dbgrid de la paleta data controls
al formulario me sale el siguiente error
class tdbgrid is not applicable to this module
y solo es en el dbgrid porque de esa misma paleta agrego un dbnavigator
esta bien
alguien sabe porque sera...:confused:

Casimiro Notevi 16-11-2010 16:42:38

Por favor, armando, recuerda poner títulos descriptivos a los temas, sirve para luego poder hacer búsquedas efectivas. No olvides nuestra guía de estilo. Muchas gracias por tu colaboración.

Al González 16-11-2010 19:35:43

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
      // If the root has an owner then we want to find classes in the owners
      // class group not just the root's. This represents what will be active
      // when the class is loaded at runtime.
      Base := Base.Owner;
    FFinder := TClassFinder.Create(TPersistentClass(Base.ClassType));
  end;
  while IsProxyClass(ComponentClass) do
    ComponentClass := TComponentClass(ComponentClass.ClassParent);
  // We should only accept classes that are the same as the streaming system
  // will see.
  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. :)

armando 16-11-2010 20:57:42

class tdbgrid is not applicable
 
ok
yo lo verificare creo que instale unos componentes y de ahi surgio el problema
los voy a desinstalar y pruebo garcias.. por la orientacion...
saludos...

Al González 16-11-2010 21:10:30

Off topic
 
Estaremos a la espera, armando.

Mientras tanto aprovecho para comentar que en estas noches he estado leyendo Las Mil Y Una Noches, ahora mismo voy por la historia de Aladino (no sabía que el chaval fuera chino :p). Son muy entretenidas las historias de ese libro, del que tantos comentarios había escuchado pero no me había decidido a leer.

¿Tú qué estás leyendo Casimiro o qué leíste recientemente? ¿Y los demás compañeros? :)

Casimiro Notevi 16-11-2010 22:33:16

Cita:

Empezado por Al González (Mensaje 382484)
Estaremos a la espera, armando.

Mientras tanto aprovecho para comentar que en estas noches he estado leyendo Las Mil Y Una Noches, ahora mismo voy por la historia de Aladino (no sabía que el chaval fuera chino :p). Son muy entretenidas las historias de ese libro, del que tantos comentarios había escuchado pero no me había decidido a leer.

¿Tú qué estás leyendo Casimiro o qué leíste recientemente? ¿Y los demás compañeros? :)

Yo estoy leyendo ahora la "segunda parte" de "Los pilares de la tierra", se llama: "Un mundo sin fin".
Es la vida de unas personas en el siglo XIV, la nobleza, los señores y el pueblo, donde todo gira alrededor de la iglesia, 'casi' como hoy en día.


La franja horaria es GMT +2. Ahora son las 06:40:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi