Differenze tra le versioni di "VarPtr"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "La funzione '''VarPtr()''' Puntatore = VarPtr ( ''Variabile'' ) restituisce un "Puntatore" che punta al contenuto della variabile in memoria. <BR>La variabile deve essere una...")
 
Riga 4: Riga 4:
 
<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.
<BR>Tale variabile può essere una stringa solo per variabili "[[Le_Variabili#Dichiarazione_delle_variabili_Globali|globali]]". In tal caso, il "Puntatore" restituito <SPAN Style="text-decoration:underline">non</span> è l'indirizzo del contenuto della stringa, ma è l'indirizzo di un <SPAN Style="text-decoration:underline">altro</span> "Puntatore" che punta al contenuto della stringa.
+
'''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 "[[Le_Variabili#Dichiarazione_delle_variabili_Globali|globali]]". In tal caso, il "Puntatore" restituito <SPAN Style="text-decoration:underline">non</span> è l'indirizzo del contenuto della stringa, ma è l'indirizzo di un <SPAN Style="text-decoration:underline">altro</span> "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.
 
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.

Versione delle 16:08, 28 ott 2021

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.