On 30 Oct 2013, at 14:30, Xiangrong Fang wrote:
2013/10/30 Jonas Maebe <jonas.ma...@elis.ugent.be>
The tdynarray type is not visible in the program because u1 is not
in its
uses clause (it's not in scope whatsoever), and nevertheless there
is no
problem to use it. It's of course not exactly the same (tdynarray
isn't
declared as private to u1), but at the scope visibility level it is
the
same situation as far as I am concerned.
I don't think they are the same. tdynarray
is not usable in main program because you did not uses u1, NOT
because the
type is defined as PRIVATE!
"Private" is just another way to define a scope, just like a unit
interface and implementation define a scope. Neither the "private"
section nor the interface of unit "u1" is in scope when the "hidden"
type is used.
Jonas_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal