I think I found a bug in FPC 2.6.2.
In a method of a derived specialized class, the compiler does not raise
error (which it should)
With "record property" do
"record property's field" := NewValue //it should raise error
since it is a record property and should not be allowed to modify just
one field.
Please see below sample code for reproducing the error:
Dennis
--------------
Type
RDevice=record
Value : String;
UpdatedAt : TDateTime;
end;
generic TGData <TData> =class(TComponent)
private
FData : TData;
public
property Data : TData read FData;
end;
TDevice = class(specialize TGData<RDevice>)
published
procedure Test;
end;
implementation
procedure TDevice.Test;
begin
With Data do
Value := ''; //no Compiler Error raised !!!
Data.Value := ''; //Compiler raised "Error Argument can't be assigned to"
end;
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal