Pubblicazione File: ClsTestProcedures_Sckeleton
Documento generato mediante: Documentation Creator By BGSoftware


VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "ClsTestProcedures_Sckeleton"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
' *********************************************************************
'* CLASS Skeleton statico per il test per il middleware.
'* <BR/>Autore: <B>Giorgio Bernardi</B>
'* E-Mail: <A HREF="mailto:giorgio.bernardi@studio.unibo.it">Giorgio.Bernardi@studio.unibo.it</A>
'* Data  : Settembre 2004
'* <DIV CLASS="ClassDescription">
'*  Skeleton statico per il test per il middleware.
'* </DIV>
' *********************************************************************
Option Explicit

Implements IReceiver
Implements ISender

Public ClasseReale  As ClsTestProcedures

Private Function IReceiver_getObjectID() As String
    IReceiver_getObjectID = "ClsTestProcedures_Sckeleton"
End Function

Private Sub IReceiver_msgArrived(Env As SMom.CEnvelope)
Dim newProcedure    As New CProcedure
Dim Param1  As CInt32Value
Dim Param2  As CInt32Value
Dim sParam1 As CStringValue
Dim sParam2 As CStringValue
Dim sParam3 As CStringValue
Dim sParam4 As CStringValue
Dim sParam5 As CStringValue
Dim sParam6 As CStringValue
Dim sParam7 As CStringValue
Dim sParam8 As CStringValue
Dim sParam9 As CStringValue
Dim sParam10 As CStringValue
Dim sParam11 As CStringValue
Dim sParam12 As CStringValue
Dim Valore  As Long
Dim sValore  As String
Dim pResult As New CInt32Value
Dim spResult As New CStringValue
    
    On Error GoTo ErrorCatch    'Gestione degli eventuali errori di chiamata alle procedure
    
    'Ricreo la procedura e la mando all'oggetto
    If newProcedure.fromEnvelope(Env) Then
        Select Case newProcedure.Name
            Case "hello"
                Call ClasseReale.hello
            Case "ComputeSum"
                Set Param1 = newProcedure.GetParam(1)
                Set Param2 = newProcedure.GetParam(2)
                ClasseReale.ComputeSum Param1.getValue(), Param2.getValue
            Case "ComputeDiff"
                Set Param1 = newProcedure.GetParam(1)
                Set Param2 = newProcedure.GetParam(2)
                Valore = ClasseReale.ComputeDiff(Param1.getValue(), Param2.getValue())
                pResult.setValue Valore
                Call Env.Replay( _
                    newProcedure.getResponseMessage( _
                    True, pResult).toMsgEnvelope(), Me)
           Case "GetSum"   'Funzione devo anche restituire il risultato
                Set Param1 = newProcedure.GetParam(1)
                Set Param2 = newProcedure.GetParam(2)
                Valore = ClasseReale.GetSum(Param1.getValue(), Param2.getValue)
                pResult.setValue Valore
                Call Env.Replay( _
                    newProcedure.getResponseMessage( _
                    True, pResult).toMsgEnvelope(), Me)
            Case "Divide"   'Funzione devo anche restituire il risultato
                Set Param1 = newProcedure.GetParam(1)
                Set Param2 = newProcedure.GetParam(2)
                Valore = ClasseReale.Divide(Param1.getValue(), Param2.getValue)
                pResult.setValue Valore
                Call Env.Replay( _
                    newProcedure.getResponseMessage( _
                    True, pResult).toMsgEnvelope(), Me)
            Case "Concatena"   'Funzione devo anche restituire il risultato
                Set sParam1 = newProcedure.GetParam(1)
                Set sParam2 = newProcedure.GetParam(2)
                Set sParam3 = newProcedure.GetParam(2)
                sValore = ClasseReale.Concatena(sParam1.getValue(), sParam2.getValue(), sParam3.getValue())
                spResult.setValue sValore
                Call Env.Replay( _
                    newProcedure.getResponseMessage( _
                    True, spResult).toMsgEnvelope(), Me)
            Case "BigConcatena"   'Funzione devo anche restituire il risultato
                Set sParam1 = newProcedure.GetParam(1)
                Set sParam2 = newProcedure.GetParam(2)
                Set sParam3 = newProcedure.GetParam(3)
                Set sParam4 = newProcedure.GetParam(4)
                Set sParam5 = newProcedure.GetParam(5)
                Set sParam6 = newProcedure.GetParam(6)
                Set sParam7 = newProcedure.GetParam(7)
                Set sParam8 = newProcedure.GetParam(8)
                Set sParam9 = newProcedure.GetParam(9)
                Set sParam10 = newProcedure.GetParam(10)
                Set sParam11 = newProcedure.GetParam(11)
                Set sParam12 = newProcedure.GetParam(12)
                sValore = ClasseReale.BigConcatena(sParam1.getValue(), sParam2.getValue(), sParam3.getValue(), sParam4.getValue(), _
                                                sParam5.getValue(), sParam6.getValue(), sParam7.getValue(), sParam8.getValue(), _
                                                sParam9.getValue(), sParam10.getValue(), sParam11.getValue(), sParam12.getValue())
                spResult.setValue sValore
                Call Env.Replay( _
                    newProcedure.getResponseMessage( _
                    True, spResult).toMsgEnvelope(), Me)
            Case Else
                spResult.setValue "ATTENZIONE: Procedura non conosciuta " & newProcedure.Name
                Call Env.Replay( _
                    newProcedure.getResponseMessage( _
                    False, spResult).toMsgEnvelope(), Me)
        End Select
    End If
Exit Sub
ErrorCatch:
Dim StrErrorMessage As String
    Select Case Err.Number
        'TODO gestire eventuali errori gestibili
        Case Else
            StrErrorMessage = "UnknownError calling " & newProcedure.toString() & " in ClsTestProcedures_Skeleton." & vbCrLf & Err.Description
    End Select
    On Error Resume Next
    Call Env.Replay( _
        newProcedure.getResponseMessage(False, SMom.CreateCValue(StrErrorMessage)).toMsgEnvelope(), _
        Me)
End Sub

Private Function ISender_getObjectID() As String
    ISender_getObjectID = "ClsTestProcedures_Sckeleton"
End Function

Documento generato mediante: Documentation Creator By BGSoftware