Differenze tra le versioni di "VarPtr"

Da Gambas-it.org - Wikipedia.
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 * o 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 * o 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.
 +
 +
 +
 +
=Riferimenti=
 +
* https://gambaswiki.org/wiki/lang/varptr?l=it

Versione delle 07:49, 4 set 2022

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.


Riferimenti