Differenze tra le versioni di "VarPtr"
Riga 1: | Riga 1: | ||
La funzione '''VarPtr()''' | La funzione '''VarPtr()''' | ||
Puntatore = VarPtr ( ''Variabile'' ) | Puntatore = VarPtr ( ''Variabile'' ) | ||
− | restituisce un "Puntatore" che punta al contenuto della variabile in memoria. Pertanto la funzione "VarPtr()" restituisce l'indirizzo di memoria della variabile passata al suo unico argomento. | + | restituisce un "Puntatore" che punta al contenuto della variabile in memoria. Pertanto la funzione "[https://gambaswiki.org/wiki/lang/varptr?l=it VarPtr()]" restituisce l'indirizzo di memoria della variabile passata al suo unico argomento. |
<BR>La variabile deve essere una variabile locale o una variabile globale della classe corrente. | <BR>La variabile deve essere una variabile locale o una variabile globale della classe corrente. | ||
<BR>Il tipo di dati della variabile deve essere un numero, una data o un puntatore. | <BR>Il tipo di dati della variabile deve essere un numero, una data o un puntatore. | ||
Riga 20: | Riga 20: | ||
Utilizzare questa funzione quando l'argomento di una [[Extern:_richiamare_funzioni_esterne_a_Gambas|funzione esterna]] è un "Puntatore" a una variabile numerica. Ad esempio, int * oppure void **. | Utilizzare questa funzione quando l'argomento di una [[Extern:_richiamare_funzioni_esterne_a_Gambas|funzione esterna]] è un "Puntatore" a una variabile numerica. Ad esempio, int * oppure void **. | ||
<BR>Non si deve usare, invece, per gestire char **, perché il contenuto di una variabile stringa Gambas è di sola lettura. | <BR>Non si deve usare, invece, per gestire char **, perché il contenuto di una variabile stringa Gambas è di sola lettura. | ||
− | |||
− | |||
− | |||
− | |||
− |
Versione delle 10:08, 5 apr 2023
La funzione VarPtr()
Puntatore = VarPtr ( Variabile )
restituisce un "Puntatore" che punta al contenuto della variabile in memoria. Pertanto la funzione "VarPtr()" restituisce l'indirizzo di memoria della variabile passata al suo unico argomento.
La variabile deve essere una variabile locale o una variabile globale della classe corrente.
Il tipo di dati della variabile deve essere un numero, una data o un puntatore.
Public Sub Main() Dim i As Integer Dim p As Pointer i = 123456 p = VarPtr(i) End
Tale variabile può essere una stringa solo per variabili "globali". In tal caso, il "Puntatore" restituito non è l'indirizzo del contenuto della stringa, ma è l'indirizzo di un altro "Puntatore" che punta al contenuto della stringa.
Il parametro Variabile può essere una anche di tipo "Variant". Ma, attenzione, il "Puntatore" restituito è garantito per essere valido fino a quando non cambia il tipo di dati della variante.
Utilizzare questa funzione quando l'argomento di una funzione esterna è un "Puntatore" a una variabile numerica. Ad esempio, int * oppure void **.
Non si deve usare, invece, per gestire char **, perché il contenuto di una variabile stringa Gambas è di sola lettura.