[fpc-pascal] Release of fpc-2.1.4 aka 2.2.0-beta

bartek bbartek at gmx.net
Sun May 20 14:47:53 CEST 2007


Hi,

I tried to compile my current project with the new compiler (2.1.4). This 
resulted in the following error:

-----8<-----
/home/bartek/Dev/units/vmath.pp(435,29) Error: Can't take the address of 
constant expressions
-----8<-----

-----8<-----
destructor TLazyVariableManager.Destroy;
var
	i: integer;
begin
	for i:=0 to LazyVariableList.count -1 do
		TLazyVector4(LazyVariableList.items[i]).Free;
	freeandnil(LazyVariableList); // <-- 435 is here
end;
-----8<-----

The definition is:
-----8<-----
	TLazyVariableManager = class
	private
		fLazyVariableList: TFPList;
	public
		constructor Create;
		destructor Destroy; override;

		procedure run;

                // properties
		property LazyVariableList: TFPList read fLazyVariableList write 
fLazyVariableList;
	end;
-----8<-----

Seems like the handling of properties has changed. Replacing with 
FLazyVariableList helps of course, but then again I get the same error here:
-----8<-----
/home/bartek/Dev/units/glgui/glgui.pp(376,26) Error: Can't take the address of 
constant expressions
-----8<-----
constructor TGLGUI3DMouseMapper.Create(aOwnerDesktop: TGLGUIDesktop);
begin
	OwnerDesktop:=aOwnerDesktop;
	OwnerDesktop.MouseMapper:=self; // 376 is here
end;
-----8<-----

Definition snippet:
-----8<-----
                // properties
                property OwnerDesktop: TGLGUIDesktop read fOwnerDesktop write 
fOwnerDesktop;
-----8<-----

What are the changes in handling properties? And how do I have to change my 
code to work again. Or what would be "the right thing" to do in my situation?

Thanks in advance
bartek



More information about the fpc-pascal mailing list