USE is a means of sharing information. If a procedure USEs a module,
that tells the procedure that there are variables, data types, and procedures
of with certain names over in that module that the procedure migh reference.
If a procedure USEs the same module twice, that merely tells the same
information twice. It does not create two instances of the module or any of
it contents.
If you in your USE you have an ONLY clause, then you are informed only
of the objects named. However, if you do that twice or more, that probably
makes you aware of more things.
If you inherit the USE of a module through more than one intermediate
step, the knowledge you gain of that module is cumulative. There is
nothing particularly confusing in this. If, through one path, you learn that
a module has a variable named ARRAY, and through another path you
learn that the same module has a procedure named FNC1, then you know
both things.
--
J. Giles
|