TExcelFile.SetColWidth Method Help Incorrect?

The help for TExcelFile.SetColWidth Method (Int32, Int32)

includes "Use TFlxConsts.ColMult to convert the internal units to pixels" and a corresponding

computation for converting internal units to pixels.



TFlxConsts.ColMult does not exist.

Maybe this should be TExcelMetrics.ColMult(xlsobject)?



Help for GetColWidth looks "correct".

Actually, GetColWidth refers to ExcelMetrics.ColMult rather than TExcelMetrics.ColMult - former does not exist.

Yes, indeed it should be TExcelMetrics.ColMult, thanks, It has been fixed here. What happened is:


Originally,  long, long ago, this was indeed a constant TFlxConsts.ColMult. But it isn't possible to keep is as a constant (like TFlxConsts.RowMult still is), because the value changes with the font used for the style "Normal" in the Workbook. So if your normal font is arial 10, then ColMult will have a value. If it is Calibri 11, ColMult will have a different value, and so it is no longer a constant and doesn't belong to TFlxConsts class.

When TExcelMetrics was introduced in FlexCel.NET, then TFlxConsts.ColMult was marked obsolete, but it still exists in FlexCel.NET today. But when we migrated code to Delphi, we didn't include obsolete methods, so the documentation is pointing to a class that doesn't exist anymore. As said, it has been corrected and now both FlexCel .NET and FlexCel VCL docs will point to TExcelMetrics.ColMult.

About the missing "T" (ExcelMetrics instead of TExcelMetrics), this is because the xml documentation comes from FlexCel.NET, where classes aren't prefixed with T. We automatically add the "T" to all classes in FlexCel.VCL, but sometimes the documentation might still mention the type without the "T". Always try with adding a "T" if the documentation mentions a class/record without it.


Thanks Adrian.