UseModule/UnuseModule are compiler directives, generally they are not added and executed as real code in resulting exe.
So doesn't matter, both variants are OK (the same with Macro/UndefineMacro for example)
See following example, module variable becomes unaccessible even after 2nd example where UnuseModule is placed where it never "executed"
Code: Select all
EnableExplicit
DeclareModule MTest
A.l
EndDeclareModule
Module MTest
EndModule
Procedure example()
UseModule MTest
Protected o
If o
UnuseModule MTest
ProcedureReturn
EndIf
UnuseModule MTest
EndProcedure
Procedure example2()
UseModule MTest
Protected o = #True
If o
Debug A
ProcedureReturn
EndIf
UnuseModule MTest
EndProcedure
example()
example2()
Debug A