Differenze tra le versioni di "Conoscere via codice il nome di una Struttura"

Da Gambas-it.org - Wikipedia.
 
Riga 15: Riga 15:
 
   Dim p1, p2 As Pointer  
 
   Dim p1, p2 As Pointer  
 
   
 
   
  <FONT Color=gray>' ''Puntiamo all'oggetto Struttura:''</font>
+
  <FONT Color=gray>' ''Punta all'Oggetto Struttura:''</font>
 
   p1 = Object.Address(st)
 
   p1 = Object.Address(st)
 
   
 
   

Versione attuale delle 18:31, 7 giu 2024

Per conoscere via codice l'etichetta identificativa di una Struttura partendo dalla sua variabile, si effettuerà una ricerca nella sua area di memoria, puntando alla quale mediante apposito Puntatore:


Mostriamo un semplice esempio pratico valido per un sistema a 64bit, nel quale il nome (Etichetta) identificativo della Struttura è "STRUTTURA":

Public Struct STRUTTURA
  b As Byte
  c As Short
  i As Integer
End Struct


Public Sub Main()

  Dim st As New STRUTTURA
  Dim p1, p2 As Pointer 

' Punta all'Oggetto Struttura:
  p1 = Object.Address(st)

  p2 = Pointer@(p1)

  Print "Nome della Struttura: "; String@(Pointer@(p2 + (SizeOf(gb.Pointer) * 3)))

End