Scopo
Aggiunge un messaggio alla transazione; il messaggio sarà visibile nella finestra dei messaggi di IN.DE.

Esempio di videata dei messaggi di una transazione
Sintassi
INDEExtension INDE = null // Oggetto INDE
//
INDE.AddTransactionMessage(id transazione, id oggetto, tipo messaggio, testo messaggio)
//
INDE.AddTransactionMessage(id transazione, id oggetto, tipo messaggio, testo messaggio)
Argomenti
| ID Transazione | Puntatore alla transazione a cui aggiungere un messaggio |
| ID Oggetto | Puntatore all'oggetto a cui si riferisce il messaggio |
| Tipo | Tipo di messaggio (vedi la lista valori Tipi Messaggio) |
| Testo | Testo del messaggio |
Note
- Aggiungere messaggi alle transazioni è molto utile per segnalare all'utente gli errori che si sono verificati o per aggiungere informazioni o avvertimenti di cui l'utente dovrebbe prendere visione.
Esempio di codice
// ******************************************
// Rinomina le tabelle e i campi dei database
// ******************************************
public void Parole.Rinomina()
{
INDEExtension INDE = null // Oggetto INDE
INDETreeWalker twDB = new() // TreeWalker per scorrere i database
int DocID = 0 // Identificativo del documento
//
// Svuoto la tabella IMDB
delete from Parole
//
// Carico in memoria le parole
insert into Parole select
set Parola := Parola
set Acronimo := Acronimo
from
Parole // Tabella Master
//
// Mi connetto ad INDE
INDE.Connect()
//
// Recupero l'identificativo del documento attivo
DocID := INDE.GetActiveDocument()
if DocID > ZERO
{
int PrjID = 0 // Identificativo del progetto
int TrID = 0 // Identificativo della transazione
//
// Recupero l'identificativo del progetto
PrjID := INDE.GetRootObject(DocID)
//
// Apro una tranzasione
TrID := INDE.BeginTransaction(DocID)
//
try
{
// Inizializzo il TreeWalker per scorrere i database del progetto
twDB.SetRoot(PrjID, Database, ??, ??, ??)
while True = True
...
//
// Rendo permanenti le modifiche
INDE.CommitTransaction(TrID)
//
// Valido il documento
INDE.Validate(INDE.GetActiveDocument())
}
catch // Si è verificato un errore
{
// Annullo le modifiche
INDE.AddTransactionMessage(TrID, PrjID, Errore, MSG Impossibile 2)
INDE.RoolbackTransaction(TrID)
}
}
}
// Rinomina le tabelle e i campi dei database
// ******************************************
public void Parole.Rinomina()
{
INDEExtension INDE = null // Oggetto INDE
INDETreeWalker twDB = new() // TreeWalker per scorrere i database
int DocID = 0 // Identificativo del documento
//
// Svuoto la tabella IMDB
delete from Parole
//
// Carico in memoria le parole
insert into Parole select
set Parola := Parola
set Acronimo := Acronimo
from
Parole // Tabella Master
//
// Mi connetto ad INDE
INDE.Connect()
//
// Recupero l'identificativo del documento attivo
DocID := INDE.GetActiveDocument()
if DocID > ZERO
{
int PrjID = 0 // Identificativo del progetto
int TrID = 0 // Identificativo della transazione
//
// Recupero l'identificativo del progetto
PrjID := INDE.GetRootObject(DocID)
//
// Apro una tranzasione
TrID := INDE.BeginTransaction(DocID)
//
try
{
// Inizializzo il TreeWalker per scorrere i database del progetto
twDB.SetRoot(PrjID, Database, ??, ??, ??)
while True = True
...
//
// Rendo permanenti le modifiche
INDE.CommitTransaction(TrID)
//
// Valido il documento
INDE.Validate(INDE.GetActiveDocument())
}
catch // Si è verificato un errore
{
// Annullo le modifiche
INDE.AddTransactionMessage(TrID, PrjID, Errore, MSG Impossibile 2)
INDE.RoolbackTransaction(TrID)
}
}
}
In questo esempio viene aggiunto un messaggio di errore in caso di eccezione durante la rinominazione degli oggetti di database.
Ultima modifica: 23/03/2021 / Validità: da 7.1.3300
procedura