Conoscere via codice il nome di una Struttura

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca

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