Public WithEvents RC As SpSharedRecoContext
Public myGrammar, b As ISpeechRecoGrammarPrivate Sub Form_Load()
    On Error GoTo EH    Set RC = New SpSharedRecoContext    Set myGrammar = RC.CreateGrammar
    myGrammar.CmdLoadFromFile "sol.xml", SLODynamic
    myGrammar.CmdSetRuleIdState 0, SGDSActiveEH:
    If Err.Number Then ShowErrMsg
End SubPrivate Sub RC_FalseRecognition(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, ByVal Result As SpeechLib.ISpeechRecoResult)
    'Label1.Caption = "(no recognition)"
End SubPrivate Sub RC_Recognition(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, ByVal RecognitionType As SpeechLib.SpeechRecognitionType, ByVal Result As SpeechLib.ISpeechRecoResult)
    'Label1.Caption = Result.PhraseInfo.GetText
End SubPrivate Sub RC_StartStream(ByVal StreamNumber As Long, ByVal StreamPosition As Variant)
    'Label2.Caption = Val(StreamNumber)
End SubPrivate Sub ShowErrMsg()    ' Declare identifiers:
    Const NL = vbNewLine
    Dim T As String    T = "Desc: " & Err.Description & NL
    T = T & "Err #: " & Err.Number
    MsgBox T, vbExclamation, "Run-Time Error"
    EndEnd Sub