Ver Mensaje Individual
  #1  
Antiguo 26-01-2005
oworty oworty is offline
Registrado
 
Registrado: nov 2004
Posts: 9
Reputación: 0
oworty Va por buen camino
Unhappy como ordena delphi los fields de un objeto

Hola a todos!

Recientemente he tenido la necesidad de crear un objeto nuevo a partir del ya conocido DBGRID, hasta aqui todo bien, de hecho todo me funciona bien a exception de un pequeño detalle, pero me JODE mucho!!! no se como solucionarlo.

Mi componente en tiempo de diseño tiene ya las columnas y ColumnAutoSize con los valores que deseo para la ejecucion del programa. Mi sorpresa viene cuando ejecuto el programa y se lanza mi metodo SetColumnAutoSize que este pierde el valor que yo tengo en tiempo de diseño, entiendo que pierde el valor porque el metodo impide que se grabe un valor si no existen las columnas. Claro como puedo hacer que delphi cree primero las columnas y nuevo llame a mi metodo? Intente cambiar el nombre de mi propiedad y campo a SizeableColumn y FSizeableColumn para ver si delphi crea los propiedades y los campos ordenados por nombre pero tampoco funciono, No se ya que más hacer.

Gracias a todos por su tiempo.

Código:
  
  TDBGridOrca = class(TDBGrid)
  private
	{ Private declarations }
	FColumnAutoSize: Integer;
	procedure SetColumnAutoSize(const Value: Integer);
  published
	{ Published declarations }
	property ColumnAutoSize: Integer read FColumnAutoSize
	  write SetColumnAutoSize default -1;
  end;
 
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;
end;
Responder Con Cita