[SOLVED] Module Declaration Order
Posted: Sun Oct 26, 2025 2:38 pm
Hi everyone! I've been working on a project that employs modules, and I seem to have stumbled upon a roadblock.
How should functions in mod2 be declared so that it could be called from mod1?
I feel I must have missed something.
How should functions in mod2 be declared so that it could be called from mod1?
Code: Select all
; module 1
DeclareModule mod1
Declare add(a, b)
Declare modAdd(a, b)
EndDeclareModule
Module mod1
Procedure add(a, b)
ProcedureReturn a + b
EndProcedure
Procedure modAdd(a, b)
;ProcedureReturn mod2::add(a, b)
EndProcedure
EndModule
; module 2
DeclareModule mod2
Declare add(a, b)
Declare modAdd(a, b)
EndDeclareModule
Module mod2
Procedure add(a, b)
ProcedureReturn a + b
EndProcedure
Procedure modAdd(a, b)
ProcedureReturn mod1::add(a, b)
EndProcedure
EndModule
; main program
OpenWindow(0, 0, 0, 300, 200, "Module Declatations",
#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListViewGadget(0, 0, 0, 300, 200)
AddGadgetItem(0, -1, Str(mod1::add(1, 2))) ; works!
AddGadgetItem(0, -1, Str(mod2::add(1, 2))) ; works!
AddGadgetItem(0, -1, Str(mod1::modAdd(1, 2))) ; error > Module not found: mod2
AddGadgetItem(0, -1, Str(mod2::modAdd(1, 2))) ; works!
While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend
I feel I must have missed something.