Scopo
Questa proprietà imposta il massimo numero di chiamate ricorsive di una procedura che l'applicazione può effettuare. Se una procedura si chiama ricorsivamente più di DTTMaxStackLoops volte, il framework interromperà l'esecuzione con un errore nel debug.
Solitamente viene utilizzata per poter effettuare il debug di applicazioni fortemente ricorsive, evitando che venga riconosciuto un loop infinito.
Sintassi
Applicazione.DTTMaxStackLoops := massimo numero chiamate ricorsive
Quando letta
Ritorna il massimo numero di chiamate ricorsive della stessa procedura.
Quando impostata
Imposta il massimo numero di chiamate ricorsive della stessa procedura.
Esempio di codice
// ***************************************
// Imposta i parametri del modulo di Trace
// ***************************************
public void DTTSettings.ImpostaDTT()
{
int idx = 0 //
string NomeCategoria = "" //
//
// Imposto il debug ai valori selezionati dall'utente
EsempiGL.DTTLoggedLoops := DTTSettings.DTTSettingLoggedLoops
EsempiGL.DTTMaxLoopCycles := DTTSettings.DTTSettingMaxLoopCycles
EsempiGL.DTTMaxRecords := DTTSettings.DTTSettingMaxRecords
EsempiGL.DTTMaxStackLoops := DTTSettings.DTTSettingMaxStackLoops
//
// Fino a 1.000
while idx <= C1000
{
// Scrivo l'indice nel debug
EsempiGL.DTTLogMessage(ToString(idx), ??, ??)
//
idx := idx + ONE
}
//
//
select into variables
set NomeCategoria := NomeCategoria
from
Categorie // Master Table
//
// Richiamo questa funzione
this.ImpostaDTT()
}
// Imposta i parametri del modulo di Trace
// ***************************************
public void DTTSettings.ImpostaDTT()
{
int idx = 0 //
string NomeCategoria = "" //
//
// Imposto il debug ai valori selezionati dall'utente
EsempiGL.DTTLoggedLoops := DTTSettings.DTTSettingLoggedLoops
EsempiGL.DTTMaxLoopCycles := DTTSettings.DTTSettingMaxLoopCycles
EsempiGL.DTTMaxRecords := DTTSettings.DTTSettingMaxRecords
EsempiGL.DTTMaxStackLoops := DTTSettings.DTTSettingMaxStackLoops
//
// Fino a 1.000
while idx <= C1000
{
// Scrivo l'indice nel debug
EsempiGL.DTTLogMessage(ToString(idx), ??, ??)
//
idx := idx + ONE
}
//
//
select into variables
set NomeCategoria := NomeCategoria
from
Categorie // Master Table
//
// Richiamo questa funzione
this.ImpostaDTT()
}
- Il valore di default di questa proprietà è 32 se l'applicazione è compilata solo in debug, 100 se compilata anche in trace.
Ultima modifica: 19/09/2018 / Validità: da 6.7.2950