As you may know, Visual Basic doesn't allow public constants in a class
module. This is really too bad, because often you'll find it necessary
to declare constants that you can maintain and transfer along with the
class, but that are also available to the projects that use the class.
Well, the good news is that Visual Basic does provide a way to declare
public constants in a class module. The bad news is that you can only
do so with numeric constants.
However, if that works for you, then consider including a Public Enum
statement in your class. The Enum statement provides for enumeration
of variables. Both variables and parameters can be declared with an
Enum type. To use an Enum, you declare a type and fill it with elements.
If you provide constant values for the elements, then Visual Basic uses
those values. If you don't provide values, then Visual Basic starts
the list at 0 and increments each element's value by one. For instance,
with the following declaration:
Public Enum POPConstants
POP_CONNECT
POP_USER
POP_PASS
POP_STAT
POP_LIST
POP_RETRIEVE
POP_DELETE
POP_QUIT
End Enum
POP_CONNECT would be equal to 0, POP_USER 1, POP_PASS 2, and so on.
However, using the following declaration:
Public Enum POPConstants
POP_CONNECT = 2000
POP_USER = 3
POP_PASS = 10
POP_STAT = 4.5
POP_LIST = 7
POP_RETRIEVE
POP_DELETE
POP_QUIT
End Enum
the constants would equal the indicated values. Those constants without
a value would be one more than the previous variable. So, since POP_LIST
equals 7, POP_RETRIEVE woule be 8.
You can use public Enum constants just as you would any other constants,
like so:
Private Sub Command1_Click()
MsgBox POP_CONNECT & " " & POP_USER
End Sub
There's no need even to instantiate the class, since technically Visual
Basic doesn't consider Public Enum as members of a class, even though
they're written to the type library.