[[COMMON]] shares common variable values with other linked or [[CHAIN]]ed modules.

{{PageLegacySupport}}
* The multi-modular technique goes back to when QBasic and QuickBASIC had module size constraints. In QB64 [[COMMON]] has been implemented so that that older code can still be compiled, though '''it is advisable to use single modules for a single project (not counting [[$INCLUDE]] libraries), for ease of sharing and also because the module size constraints no longer exist.'''


{{PageSyntax}}
: [[COMMON]] [SHARED] variableList 


{{PageDescription}}
* COMMON must be called before any executable statements.
* [[SHARED]] makes the variables shared within [[SUB]] and [[FUNCTION]] procedures within that module.
* variableList is the list of common variables made available separated by commas.
* Remember to keep the variable type ''order'' the same in all modules, as the variables names don't matter.
* [[COMMON SHARED]] is most commonly used to share the variables with subs and functions of that module.
* '''Note: Values assigned to shared variables used as procedure call parameters will not be passed to other procedures. The shared variable value must be assigned inside of the [[SUB]] or [[FUNCTION]] procedure to be passed.'''


{{PageSeeAlso}}
* [[COMMON SHARED]], [[CHAIN]]
* [[DIM]], [[REDIM]], [[SHARED]]
* [[DEFSTR]], [[DEFLNG]], [[DEFINT]], [[DEFSNG]], [[DEFDBL]]

{{PageNavigation}}
