Differenze tra le versioni di "Application"
Riga 32: | Riga 32: | ||
'''Env''' : (oggetto, solo lettura) | '''Env''' : (oggetto, solo lettura) | ||
Ritorna un array di stringhe virtuale, contenente le variabili di ambiente (ovvero di sistema). Come per Args, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT. | Ritorna un array di stringhe virtuale, contenente le variabili di ambiente (ovvero di sistema). Come per Args, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT. | ||
+ | |||
+ | Esempio di lettura: | ||
+ | |||
+ | PUBLIC SUB Main() | ||
+ | DIM sEnv AS String | ||
+ | FOR EACH sEnv IN Application.Env | ||
+ | PRINT sEnv | ||
+ | NEXT | ||
+ | END | ||
'''Handle''' : (intero, solo lettura) | '''Handle''' : (intero, solo lettura) | ||
Riga 47: | Riga 56: | ||
'''Return''' : (intero) | '''Return''' : (intero) | ||
Ritorna o imposta il valore che l'applicazione ritorna al sistema quando termina. | Ritorna o imposta il valore che l'applicazione ritorna al sistema quando termina. | ||
+ | La proprietà può essere utilizzata, ad esempio, per ritornare un codice particolare al sistema operativo in caso di errore. Di default, l'applicazione termina con un valore '1', se il programma termina a causa di un errore, altrimenti ritorna '0'. | ||
'''Title''' : (stringa, solo lettura) | '''Title''' : (stringa, solo lettura) | ||
− | Ritorna | + | Ritorna il titolo dell'applicazione, così come impostato nel progetto. |
'''Version''' : (stringa, solo lettura) | '''Version''' : (stringa, solo lettura) | ||
Ritorna la versione del programma, così come impostata nel progetto. | Ritorna la versione del programma, così come impostata nel progetto. | ||
+ | Il valore comprende 3 numeri, separati da un punto, che identificano: mayor version, minor version, release version. | ||
+ | E' da tener presente che la generazione di un nuovo eseguibile in ambiente IDE, aggiorna automaticamente la versione alla release successiva. | ||
'''''Metodi''''' | '''''Metodi''''' | ||
---- | ---- | ||
− | + | La classe Application, nella libreria "gb" non ha metodi, nella sua struttura di base; eventuali funzionalità possono essere aggiunte, creando una nuova classe derivata da Application. | |
Riga 68: | Riga 80: | ||
'''''Descrizione''''' | '''''Descrizione''''' | ||
---- | ---- | ||
− | Anche se | + | Anche se statica, è possibile creare classi Application derivate da quella di base, personalizzabili a seconda delle proprie esigenze (aggiunta di altre proprietà e/o metodi). Ad esempio: |
+ | |||
+ | Class MyApplication | ||
+ | |||
+ | STATIC PUBLIC SUB Run() | ||
+ | ... | ||
+ | END | ||
+ | Una cosa molto importante è che tutte le nuove proprietà e i nuovi metodi aggiunti, siano dichiarati STATIC; non è possibile, e ammesso, costruire metodi e proprietà dinamiche in una classe dichiarata statica (mentre è vero il contrario, anche se i metodi non devono contenere riferimenti, o chiamate, a entità dinamiche della stessa classe). | ||
'''''Esempi''''' | '''''Esempi''''' | ||
---- | ---- |
Versione delle 18:26, 10 gen 2009
Questa classe tutte le informazioni relative all'applicazione corrente, e garantisce l'accesso all'ambiente e alla linea di comando del processo.
Tipo
La classe è di tipo statico, metodi e proprietà compresi, ovvero è sempre presente in memoria, ed è accessibile da tutti i componenti del processo.
Proprietà
Args : (oggetto, solo lettura) Ritorna un array contenente gli argomenti passati da riga di comando al programma. Dato che l'array è in realtà un oggetto Collection, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT; ogni valore ritornato è una stringa. Il primo elemento ritornato (argumento #0) è sempre il nome del programma.
Esempio di lettura:
PUBLIC SUB Main() DIM sArg AS String FOR EACH sArg IN Application.Args PRINT sArg NEXT END
Daemon : (logico) Se uguale a TRUE, l'applicazione viene eseguita come un demone. In questo caso, l'applicazione si biforca e termina l'oggetto parent di recente creazione, di modo che il reale parent dell'applicazione non attende la sua chiusura; la directory di lavoro corrente diventa la root "/"; lo standard input, lo standard output e lo standard error output vengono chiusi. Una volta impostata come demone, l'applicazione non può ritornare nello stato normale (Daemon=FALSE). La directory di lavoro temporanea viene rinominata con l'identificatore del processo dopo la variazione.
Dir : (stringa, solo lettura) Ritorna la directory dell'applicazione. Questa è la directory corrente di lavoro all'avvio dell'applicazione.
Env : (oggetto, solo lettura) Ritorna un array di stringhe virtuale, contenente le variabili di ambiente (ovvero di sistema). Come per Args, la lettura degli elementi può essere effettuata solo tramite il comando FOR EACH...NEXT.
Esempio di lettura:
PUBLIC SUB Main() DIM sEnv AS String FOR EACH sEnv IN Application.Env PRINT sEnv NEXT END
Handle : (intero, solo lettura) Ritorna il pid di sistema (identificatore di processo) del programma.
Id : (intero, solo lettura) Ritorna il pid di sistema (identificatore di processo) del programma (come Handle).
Name : (stringa, solo lettura) Ritorna o imposta il nome del programma, così come definito nel progetto.
Path : (stringa, solo lettura) Ritorna la directory dove risiede l'applicazione.
Return : (intero) Ritorna o imposta il valore che l'applicazione ritorna al sistema quando termina. La proprietà può essere utilizzata, ad esempio, per ritornare un codice particolare al sistema operativo in caso di errore. Di default, l'applicazione termina con un valore '1', se il programma termina a causa di un errore, altrimenti ritorna '0'.
Title : (stringa, solo lettura) Ritorna il titolo dell'applicazione, così come impostato nel progetto.
Version : (stringa, solo lettura) Ritorna la versione del programma, così come impostata nel progetto. Il valore comprende 3 numeri, separati da un punto, che identificano: mayor version, minor version, release version. E' da tener presente che la generazione di un nuovo eseguibile in ambiente IDE, aggiorna automaticamente la versione alla release successiva.
Metodi
La classe Application, nella libreria "gb" non ha metodi, nella sua struttura di base; eventuali funzionalità possono essere aggiunte, creando una nuova classe derivata da Application.
Eventi
Application_Read() : Se questo metodo viene definito nella classe di lancio del progetto, lo standard input viene catturato dall'interprete, e il metodo viene chiamato ad ogni lettura dello standard input.
Descrizione
Anche se statica, è possibile creare classi Application derivate da quella di base, personalizzabili a seconda delle proprie esigenze (aggiunta di altre proprietà e/o metodi). Ad esempio:
Class MyApplication
STATIC PUBLIC SUB Run() ... END
Una cosa molto importante è che tutte le nuove proprietà e i nuovi metodi aggiunti, siano dichiarati STATIC; non è possibile, e ammesso, costruire metodi e proprietà dinamiche in una classe dichiarata statica (mentre è vero il contrario, anche se i metodi non devono contenere riferimenti, o chiamate, a entità dinamiche della stessa classe).
Esempi