On Thu, Mar 1, 2012 at 5:14 PM, Sven Barth <pascaldra...@googlemail.com> wrote: > On 01.03.2012 16:34, Marcos Douglas wrote: >> >> On Thu, Mar 1, 2012 at 4:29 AM, leledumbo<leledumbo_c...@yahoo.co.id> >> wrote: >>> >>> That's different case IMHO (In My Humble Observation), I guess it's >>> something >>> like this: >>> >>> {$mode objfpc} >>> type >>> TTestClass = class >>> FTile: Integer; >>> property Tile: Integer read FTile write FTile; >>> procedure Test; >>> end; >>> >>> procedure TTestClass.Test; >>> var >>> Tile: Integer; >>> begin >>> end; >>> >>> begin >>> end. >>> >>> In this case, the local variable has the same name as one of the class >>> properties. This does trigger the "duplicate identifier" error because >>> both >>> have the same scope. >> >> >> Well, for me the local Tile variable should have "preference" because >> the scope is local, not "global for class". >> Would be equal the use of arguments, IMHO, where we can use an >> identifier that already exists in the class. > > > In mode Delphi this is true, but in non-Delphi modes it was decided that the > above code is not allowed at all to avoid any disambiguities that might > arise. > > Regards, > Sven
So, I have to invent a prefix or suffix in all local variables to avoid problems if I add a property with same name in the future, right? ex: lTile: Integer Tile1: Integer vTile: Integer ...well, I already do that, but I don't think this is correct. Marcos Douglas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal