On 26/07/2010 16:34, Sven Barth wrote:
It's not about not having to type the "fully qualified name", but
about not having to rename/prefix my own units, because they conflict
with an existing unit.
Ok, so that means:
If refering to the unit, or any element in it, you always have to use
the full namespace:
uses my.utils;
var a: my.utils.TFoo;
that is, inside the unit that uses the other unit, the other units name
is effectively "my.utils" => with the dot being part of the name
If writing a unit, that is to be in a namespace you can do
unit utils namespace my;
but that is no different from doing
unit my.utils;
Not exactly, because
1)
"unit utils namespace my" resides in "utils.pas"
while
"unit my.utils" resides in "my.utils.pas" (Delphi compatible).
(no usage of compiler switch -Un here)
That is a question of who the compiler is implemented to interpret this.
"unit my.utils" could well reside in utils.pas
2)
You can still do a
uses
utils;
with the namespace approach. The namespace-identifier is only needed
if you want/need to avoid a conflict.
Now we are going in circles....
that is the whole point I have been making for several males.
The use of not fully qualified unit names is pure evil => it leads to
mis interpretion by the reader.
Telling the implementor, that he can use "sysutils" as unit name, will
lead to the implementor doing eaxtly this => and the reader will be confused
Martin
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel