Italian Creazione evento per classe SNMP

Discussion in 'Italian Forum' started by MaAncheNo, Sep 16, 2017.

  1. MaAncheNo

    MaAncheNo Member Licensed User

    Salve,
    sto creando una classe per dialogare tramite protocollo SNMP con i dispositivi presenti nella rete locale, in particolare con le stampanti da cui devo estrapolare i livelli di consumo
    Lo scheletro iniziale della classe funziona e gestisco correttamente i messaggi SNMP (over UDP), il problema è che non so come gestire l'evento dati ricevuti nella classe dalla Main Activity.

    E' possibile aggiungere alla classe degli eventi?
     
  2. LucaMs

    LucaMs Expert Licensed User

    Sembra che tu stia semplicemente chiedendo come usare gli eventi di una classe creata da te (anche se mi sembra strano, visto che sei in grado di ricevere il dato nell'oggetto che hai creato - almeno così mi pare d'aver capito).

    Code:
    ' MiaClasse

    #Event: DatoArrivato(Dato As Int)

    Sub Class_Globals
       
    Private mCallBack As Object
       
    Private mEventName As String
    End Sub

    'Initializes the object. You can add parameters to this method if needed.
    Public Sub Initialize(Callback As Object, EventName As String)
       mCallBack = Callback
       mEventName = EventName
    End Sub

    Public Sub LeggoDato(Dato As Int)
       
    ' Informo il modulo che contiene l'istanza di questa classe
       Dim FullSubName As String
       FullSubName = mEventName & 
    "_DatoArrivato"
       
    If SubExists(mCallBack, FullSubName) Then
         CallSubDelayed2(mCallBack, FullSubName, Dato)
       
    End If
    End Sub

    Code:
    ' Main

    Sub Process_Globals
       
    Private mMioOggetto As MiaClasse
    End Sub

    Sub Activity_Create(FirstTime As Boolean)
       mMioOggetto.Initialize(Me, 
    "SNMP")
    End Sub

    Sub Activity_Resume
       
    ' Simulazione ricezione dato
       mMioOggetto.LeggoDato(999)
    End Sub

    Sub SNMP_DatoArrivato(Dato As Int)
       
    ToastMessageShow("Dato ricevuto: " & Dato, True)
       
    Log("Dato ricevuto: " & Dato)
    End Sub
     
    Last edited: Sep 17, 2017
    MaAncheNo, Star-Dust and sirjo66 like this.
  3. MaAncheNo

    MaAncheNo Member Licensed User

    Grazie! E' esattamente quello che "semplicemente" chiedevo.
    :):) Semplice se lo sai.... Ho poca dimestichezza nella costruzione delle classi e non ero riuscito a trovare esempi.
    Grazie ancora!
     
    LucaMs likes this.
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice