[Lazarus] Fixes 2.6.2 cod breaks 2.6.0 code?

Flávio Etrusco flavio.etrusco at gmail.com
Wed Mar 13 17:53:52 CET 2013


On Wed, Mar 13, 2013 at 1:10 PM, Frank Church <vfclists at gmail.com> wrote:
> Upgrading to Lazarus 1.0.7 with FPC 2.6.2 raised this error in a file
> I was compiling? What does it mean?
>
> procedure TRxDBGrid.CheckNewCachedSizes(var AGCache: TGridDataCache);
> begin
>   if (rdgFooterRows in OptionsRx) and (FooterRowCount > 0) then
>     Dec(GCache.ClientHeight, DefaultRowHeight * FooterRowCount + 2);
> end;
>
> M:\Lazarus\ThirdPartyLibs\rx20\rxdbgrid.pas(2492,9) Error: Can't take
> the address of constant expressions
>
> Is the fixes branch supposed to introduce new functionality that can
> break code that compiled in previous releases? I thought it excludes
> changes that break existing code, ie, it should fix buggy code
> generation, but not introduce changes that break existing code?
>
> --
> Frank Church

Is GCache.ClientHeight a property? If so, this was not changed in
2.6.0, but IIRC in the 2.4 series.
You can't pass a property in a 'var' parameter.

-Flávio




More information about the Lazarus mailing list