GBIC: Scope
The following is reprinted for archival purposes from Gary Beene's Information Center, with permission from Mr. Beene himself.
'The scope of a variable defines which parts of your program are aware of
'the variable. When you declare a variable within a procedure (sub/function)
'only code within that procedure can access or change the value of that variable.
'The variable's scope is local to the procedure.
'Scope of a variable can be controlled by the programmer. Variables are
'declared in one of two locations - procedures or modules. In each case,
'VB allows the declaration to define the procedure as Private or Public:
'Procedure-level variables
Private 'variables are private to the procedure
Public 'n/a. procedure variables cannot be Public
'Module-level variables
Private 'variables are private to the module
'they can be accessed from within any procedure in the module
Public 'variables are available to all modules
'Example: to make a public variable, put this in the declaration section of a module
'Note: Public replaces Dim in the declaration
Public MyVar As Long
'Example: to make the same variable private to the module, use this:
Private MyVar As Long
'Lifetime -------------------------------------------------------------------------------
'Normally, when a variable is declared in a procedure (sub/function) it exists only as long
'as the procedure is executing. For example:
Sub MySub ()
Dim j As Long
j = 5
End Sub
'When the program call MySub, the variable j is created. When the program exits
'MySub the variable i no longer exists.
'The exception is that if the declaration uses the keyword Static, the variable continues
'to exist between calls of the procedure:
Sub MySub()
Static Dim j As Long
i = j + 5
End Sub
'In this example, the value of j is kept. Each time the procedure is called, j is incremented
'by an additional 5.
'These comments apply to module variables also
Loading Comments ...
Comments
No comments have been added for this post.
You must be logged in to make a comment.