Page 1 of 1

Module public item is already declare in global scope

Posted: Fri Aug 11, 2017 1:55 pm
by MrTAToad
For some reason when using UseModule to access one procedure in a module, this error message comes up, even though the offending procedure isn't defined globally.

Re: Module public item is already declare in global scope

Posted: Wed Aug 16, 2017 2:25 pm
by Fred
Could you post a small snippet showing the issue ?

Re: Module public item is already declare in global scope

Posted: Wed Aug 16, 2017 6:52 pm
by MrTAToad
I know what's going on now. It appears this error message comes up when a procedure with the same name occurs in more than 1 module :

Code: Select all

DeclareModule A
  Declare.i GetColourForAngle(a.f)
EndDeclareModule

DeclareModule B
  Declare.i GetColourForAngle(a.f)
EndDeclareModule

DeclareModule C
  Declare test()
EndDeclareModule

Module A
  Procedure.i GetColourForAngle(a.f)
  EndProcedure
EndModule

Module B
  Procedure.i GetColourForAngle(a.f)
  EndProcedure
EndModule

Module C
  UseModule A
  UseModule B
  
  Procedure test()
    GetColourForAngle(1)
  EndProcedure
EndModule
I didnt orginally find it as the module procedures were declared, but didn't exist...

Re: Module public item is already declare in global scope

Posted: Wed Aug 16, 2017 7:42 pm
by Fred
It's a legitimate error, as you can't use 2 module with the same function name