The length does not take into account the character width, which depends on the font settings.
// Assumes the AutoSize property is true.
// Note: 8 is added as spacing
DataText.Left := LastDataText.Left + LastDataText.Width + 8;
If you are loading data from a DataSet, look at the DisplayWidth property of the TField class.
TextWidth := DataSet.Fields[0].DisplayWidth * QuickReport.Canvas.TextWidth('M');
DataText.Left := LastDataText.Left + TextWidth;
source
share