VarPtr

Da Gambas-it.org - Wikipedia.

La funzione VarPtr()

Puntatore = VarPtr ( Variabile )

restituisce un "Puntatore" che punta al contenuto della variabile in memoria.
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 * o void **.
Non si deve usare, invece, per gestire char **, perché il contenuto di una variabile stringa Gambas è di sola lettura.