English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Libreria Client
  • Libreria Applicazione
  • Altri metodi

Send App Message

procedura link

Scopo

Invia un messaggio all'applicazione ed a tutti i componenti i maniera ricorsiva. Tale procedura può essere utile per inviare un messaggio ad uno o più componenti o a tutta la gerarchia. Per esempio può essere utile per comunicare l'istanza del Document Helper, creato dall'applicazione, a tutta la gerarchia dei componenti per fare in modo che tutti utilizzino la stessa istanza.

Sintassi

Applicazione.SendAppMessage(Message, Parameter)

Argomenti

Message Nome del messaggio
Parameter E' un parametro di tipo oggetto che contiene le informazioni relative al messaggio inviato. Tale parametro viene fornito nell'evento OnAppMessage

Esempio di codice

// **************************************************************
// An event fired by the application when it is initialized
// **************************************************************

event Application.Initialize()
{
  DocumentHelper dh = new()
  NPQ04788App.sendAppMessage("DocHelper", dh)
}




// **************************************************************
// Fired by the application and by a component when someone, application or component, used the SendAppMessage method
// **************************************************************

event Component1.OnAppMessage(
  string Message   // Message name
  object Parameter // Object parameter that contains the info relevant to the message. This parameter is the same that was provided, by the sender, to the SendAppMessage method
)
{
  if (Message == "DocHelper")
    Component1.documentHelper = cast(Parameter)
}

Ultima modifica: 20/11/2020 / Validità: da 20.5.8000

  • Il sistema, da dovunque venga inviato il messaggio, segue sempre la stessa sequenza: applicazione, componenti utilizzati dall'applicazione, componenti figli dei componenti utilizzati dall'applicazione e così via.
  • Se il messaggio viene inviato da un componente, il sistema lo comunicherà prima all'applicazione poi a tutta la gerarchia, compreso il componente che ha inviato il messaggio.
  • Il secondo parametro del metodo è di tipo oggetto quindi non è possibile inviare tipi "base" (stringhe, date, interi). Qualora fosse necessario inviare dati "base" è sufficiente inserirli in un array:
    public void SendMessage()
    {
      IDArray arr = new ();
      arr.addValue("Parametro del messaggio");
      Componenti.sendAppMessage("NomeMessaggio", arr);
    }
    
    public event OnAppMessage(Message, Parameter)
    {
      if (Message == "NomeMessaggio")
      {
        IDArray arr = Parameter
        string Testo = arr.getValue(0)
      }
    } 
    

Vedi anche

  • On App Message (evento)

Ti serve altro aiuto?

Consulta il Forum