10.01.2011 1:47, Andrew Brunner wrote:
Type
NS_APP=class
const
const1=2;
const3=5;
type
NS_SPACE1=class
type
Properties=(Name,Value);
TMyRecord=record
ID : integer;
Name:string;
Value:string;
end;
end;
NS_SPACE2=class
type
Properties=(Name,Value); // Duplicate Identifer "Name"
error @ compile
TMyRecord=record
Key : Array[0..1] of Byte;
Value : Pointer;
end;
end;
end;
This is by design. Enumeration members are added both to the unit and
enumration symbol table and therefore can't have equal names. If you
want to prevent adding them to the unit symbol table use {$SCOPEDENUMS
ON} directive. Then you will need to access them using prefixes only.
Like NS_APP.NS_SPACE1.Properties.Name.
Best regards,
Paul Ishenin
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel