[Lazarus-es] RV: TAChart posible Bug: Series con TUserDefinedChartSource no son mostradas apropiadamente

Miguel A. Risco mriscoc en gmail.com
Lun Abr 18 18:59:36 CEST 2011


Hola a todos, 

 

He encontrado un possible “bug” en el component TAChart. La versión de
Lazarus que uso es la v0.9.30.1 SVN:30356 en Windows 7 x64

 

Para reproducir el error seguir los siguientes pasos: 

 

Crear un proyecto con un TChart y un TButton; agregar un TLineSeries y un
TUserDefinedChartSource con 4 puntos, seleccione el último como fuente para
la serie. Defina una variable como un arreglo de cuatro enteros y asigne
valores a dicho arreglo en el evento OnClick del botón. Asigne adecuadamente
los valores AITem en el evento “DataSourceGetChartDataItem” con los datos
del arreglo. Algunas veces al hacer zoom la serie no es correctamente
dibujada. (El proyecto de ejempo adjunto se ha removido a petición del
moderador para reducir el tamaño del mensaje), realice un zoom en el segundo
punto (0.1,0.5) pero sin incluir el eje Y con el valor cero, la serie no
será dibujada, sin embargo si incluye el eje Y=0 se mostrará adecuadamente:

 

  TForm1 = class(TForm)

    Button1: TButton;

    Chart1: TChart;

    Chart1LineSeries1: TLineSeries;

    DataSource: TUserDefinedChartSource;

    procedure Button1Click(Sender: TObject);

    procedure DataSourceGetChartDataItem(ASource: TUserDefinedChartSource;

      AIndex: Integer; var AItem: TChartDataItem);

  end;

 

var

  Form1: TForm1;

  dat:array [0..3] of real;

 

implementation

 

{$R *.lfm}

 

{ TForm1 }

 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  DataSource.BeginUpdate;

  dat[0]:=0;

  dat[1]:=0.5;

  dat[2]:=0;

  dat[3]:=-0.5;

  DataSource.EndUpdate;

end;

 

procedure TForm1.DataSourceGetChartDataItem(ASource:
TUserDefinedChartSource;

  AIndex: Integer; var AItem: TChartDataItem);

begin

  AItem.X:=AIndex/10;

  AItem.Y:=dat[AIndex];

end;

 

Gracias,

     

Miguel A. Risco Castillo

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20110418/a26f44a8/attachment-0002.html>


More information about the Lazarus-es mailing list