I wrote a simple program as below. When I compile it, the Lazarus compiler gives "Duplicate Identifier 'Name' Error".But the same code can be compiled smoothly in Delphi XE10. Could anyone tell me why?Thanks.
program Project1;
type
{ TMyobj }
TMyobj=class
public
Name:string;
constructor Create(Name:string);
procedure writename;
end;
{ TMyobj }
constructor TMyobj.Create(Name: string);
begin
self.Name:=Name;
end;
procedure TMyobj.writename;
begin
writeln(name);
end;
var MyObj:TMyobj;
begin
MyObj:=TMyObj.Create('Mark');
MyObj.writename;
MyObj.Free;
readln;
end.