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

Reply via email to