Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 27-01-2005
oworty oworty is offline
Registrado
 
Registrado: nov 2004
Posts: 9
Poder: 0
oworty Va por buen camino
Smile

Antes de nada muchas gracias por tu respuesta.


No he puesto todo el codigo fuente del objeto para no agrandar el mensaje. Necesito poner la verificacion para que si en tiempo de diseño o en tiempo de ejecucion se dice que la columna autoajustable es una que realmente no existe que no deje seguir. Claro el mejor sitio es este en el metodo SetColumnAutoSize para que nunca tome un valor incorrecto.

Segun me ha parecido entender en tu mensaje, me dices que en el SetCoulmnAutoSize no ponga la verificacion y que luego la controle en otro sitio, ese sitio no seria en el ResizeColumns(en mi componente se llama ValidateSizeableColumn) porque el aun no tendria las columnas, y además debería volver a poner mi FColumnAutoSize a -1 y no quiero ir cambiando tanto el field, pretendo que sea todos los valores por el usuario.

Sin embargo no sabia que el metodo Loaded se lanza justo y cuando se carga un componente y este ya ha tomado todos los valores del tiempo de diseño, sabiendo esto puedo, poner aquí la verificacion que me has dicho de si no existen las columnas.

Tal vez otra solucion seria poner un estado o intentar reutilizar el de de tcomponent para ver si el componente se esta cargando y si es asi permitir la escritura de mi campo FColumnAutoSize pese que no tenga las columnas porque estas vendrán luego.

De nuevo gracias por todo y por darme pistar e ideas nuevas, voy a ver si les saco provecho, ya te contare.

Código:
  
procedure TDBGridOrca.SetColumnAutoSize(const Value: Integer);
begin
  if Value = FColumnAutoSize then Exit;
  if Columns.Count = 0 then Exit;
  if Value > (Columns.Count - 1) then
	raise Exception.Create('No existe la columna.');
  FColumnAutoSize := Value;
	
  LayoutChanged;
end;

procedure TDBGridOrca.LayoutChanged;
begin
  inherited;
  ValidateSizeableColumn();
end;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:52:39.


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
Copyright 1996-2007 Club Delphi