This code works perfectly fine (at least it does not crash) with fpc 2.2.2
constructor TMyObject.Create;
begin
DebugLn('Create');
FItem := nil;
DebugLn('nil');
SetLength(FItem,3);
DebugLn('SetLength');
FItem[0].First:= 1.0;
DebugLn('FItem[0].First = ',DbgS(FItem[0].First));
end;
Bart