CProcedure

Oggetto Funzione utile per incapsulare chiamate a procedura remote

Autore: Giorgio Bernardi
E-Mail: Giorgio.Bernardi@studio.unibo.it
Data : Settembre 2004

Creare la procedura o funzione aggiungendo parametri e impostando il nome.
In fase di costruzione viene automaticamente impostato un InstanceID di default (che si consiglia di non modificare).

Codice
Const Summary
Private CharDelimiter
Carattere delimitatore utilizzato
 
Field Summary
Private(CVector) mParams
Parametri in ingresso alla procedura remota
Private(String) mstrInstanceID
Identificativo univoco di questa chiamata a procedura
Private(String) mstrName
Nome della procedura remota da chiamare
 
Properties Summary
Get Public(String)
Property Get InstanceID()

Codice
Accesso alla proprietà InstanceID dell'istanza
Get Public(String)
Let Public(String)
Property Get Name()
Property Let Name( newValue As String)

Codice
Accesso alla proprietà Name dell'istanza
 
Method Summary
Public AddParam( newParam As CValue)
Codice
Permette di aggiungere un parametro alla procedura
Private Class_Initialize()
Codice
Private Class_Terminate()
Codice
Public(Boolean) fromEnvelope( Env As CEnvelope)
Codice
Tenta di ricostruire la procedura dalla sua rappresentazione in forma di stringa contenuta nella busta.
Public(CValue) GetParam( Index As Long)
Codice
Permette di recuperare il parametro all'indice indicato della procedura
Public(Long) GetParamsCount()
Codice
Indica il numero di parametri attualmente memorizzati per la procedura
Public(CFunctionResult) getResponseMessage( IsValid As Boolean, ResultValue As CValue)
Codice
Restituisce un oggetto CFunctionResult pronto per essere restituito al mittente
Public(CEnvelope) toEnvelope( Sender As ISender, ReceiverObjID As String)
Codice
Rappresentazione della procedura per essere inviata.
Public(String) toString()
Codice
Rappresentazione semplice in forma di stringa della procedura
 
Details

CharDelimiter

Private Const CharDelimiter As String = ":"

Codice
Carattere delimitatore utilizzato

mParams

Private mParams         As CVector

Codice
Parametri in ingresso alla procedura remota

mstrInstanceID

Private mstrInstanceID  As String

Codice
Identificativo univoco di questa chiamata a procedura

mstrName

Private mstrName        As String

Codice
Nome della procedura remota da chiamare

InstanceID

Public Property Get InstanceID() As String

Codice
Accesso alla proprietà InstanceID dell'istanza

Name

Public Property Get Name() As String

Codice
Accesso alla proprietà Name dell'istanza

Name

Public Property Let Name(newValue As String)

Codice
Accesso alla proprietà Name dell'istanza

AddParam

Public Sub AddParam(newParam As CValue)

Codice
Permette di aggiungere un parametro alla procedura

Class_Initialize

Private Sub Class_Initialize()

Codice

Class_Terminate

Private Sub Class_Terminate()

Codice

fromEnvelope

Public Function fromEnvelope(Env As CEnvelope) As Boolean

Codice
Tenta di ricostruire la procedura dalla sua rappresentazione in forma di stringa contenuta nella busta.
Restituisce False in caso di errore nella costruzione

GetParam

Public Function GetParam(Index As Long) As CValue

Codice
Permette di recuperare il parametro all'indice indicato della procedura
Restituisce Nothing se all'indice non corrisponde alcun parametro

GetParamsCount

Public Function GetParamsCount() As Long

Codice
Indica il numero di parametri attualmente memorizzati per la procedura

getResponseMessage

Public Function getResponseMessage(IsValid As Boolean, ResultValue As CValue) As CFunctionResult

Codice
Restituisce un oggetto CFunctionResult pronto per essere restituito al mittente
E' necessario indicare se il risultato è valido e l'eventuale risultato della funzione

toEnvelope

Public Function toEnvelope(Sender As ISender, ReceiverObjID As String) As CEnvelope

Codice
Rappresentazione della procedura per essere inviata.
Il messaggio ha la seguente rappresentazione
[]

toString

Public Function toString() As String

Codice
Rappresentazione semplice in forma di stringa della procedura