[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