On Fri, 18 Jan 2008, Vinzent Hoefler wrote:
> On Friday 18 January 2008 15:50, Michael Van Canneyt wrote: > > On Fri, 18 Jan 2008, Vinzent Hoefler wrote: > > > On Friday 18 January 2008 15:19, Michael Van Canneyt wrote: > > > > > I saw this week a CodeGear Guy in a cg ng talking about that. > > > > > In Win32 its is Just dots in the name, nothing else. > > > > > > > > If he said that, he is totally braindead and doesn't have a clue > > > > about what he is talking. > > > > > > Well, the discussion and explanation that have been provided so > > > far, back up that braindead guy's statement. > > > > Of course not: > > > > tell me, what does a.b.c.d mean if you have a record a with field b, > > and you have a uses a.b.c in your uses clause ? > > The magic word would be "scope" here. It's the same as with using two > different units including the same identifier twice. > > Running up the scope until the identifier is either found or not. > > > Same with: > > --- > unit > A; > > var > C : ... > D : ... > --- > > --- > function Blubb; > A : Record_Type; > begin > A.D := > A.C := > end > --- > > AFAIK this would be perfectly compilable already. (I'm in a hurry right > now, but I guess, you catch my drift.) You are wrong. It does not compile, neither in delphi, nor in FPC. D is not found, because 'A' resolves to the local a, and then the search is stopped. ----------------------------------- unit a; interface Var D : Integer; implementation end. ----------------------------------- unit b; interface uses a; Type T = Record C : integer; end; Implementation Procedure Doit; Var A : T; begin A.C:=1; A.D:=2; end; end. ----------------------------------- Michael. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal