Class Module

Group                   Declaration

Description           A class module implements an object.

•   Has a set of Publicprocedures accessible from other macros and modules.

•   These public symbols are accessed via an object variable.

•   Has an optional set of Events that can be raised.

•   Public Consts, Structures, arrays, fixed length strings are not allowed.

•   Has an optional Private Sub Class_Initialize which is called when an instance is created.

•   Has an optional Private Sub Class_Terminate which is called when an instance is destroyed.

•   A class module is similar to a object module except that no instance is automatically created.

•   To create an instance use:

Dim Obj As classname
Obj = New classname

See Also               Code Module, Object Module, Uses, Class_Initialize, Class_Terminate.

Example               'A.WWB
'#Language "WWB.NET"
'#Uses "File.CLS"
SubMain
    Dim File As New File
    File.Attach "C:\AUTOEXEC.BAT"
    Debug.Print File.ReadLine
EndSub

'File.CLS
'File|NewModule|ClassModule
'Edit|Properties|Name=File
'#Language "WWB.NET"
Option Explicit
Dim FN As Integer
PublicSub Attach(FileName As String)
    FN = FreeFile
    FileOpen FN, FileName, OpenMode.Input
EndSub
PublicSub Detach()
    If FN <> 0 Then FileClose FN
    FN = 0
EndSub
PublicFunction ReadLine() As String
    ReadLine = LineInput(FN)
EndFunction

PrivateSubClass_Initialize()
    Debug.Print "Class_Initialize"
EndSub

PrivateSubClass_Terminate()
    Debug.Print "Class_Terminate"
    Detach
EndSub