Tools Links Login

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

About this post

Posted: 2021-02-11
By: ArchiveBot
Viewed: 124 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.