Vedere in runtime tutte le variabili locali presenti in un'applicazione

Da Gambas-it.org - Wikipedia.
Versione del 5 apr 2016 alle 01:46 di Vuott (Discussione | contributi) (Creata pagina con "Vediamo in questa pagina una curiosità, ossia come sia possibile vedere in runtime l'identificatore di tutte le variabili ''locali'' presenti nel ''Modulo'' o una ''Classe''...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Vediamo in questa pagina una curiosità, ossia come sia possibile vedere in runtime l'identificatore di tutte le variabili locali presenti nel Modulo o una Classe dell'applicazione.

Ci serviremo di un Puntatore ad una variabile di tipo Stringa che sia stata istanziata.


Mostriamo un breve esempio pratico:

 Private Const LAT As Short = 256


Public Sub Main()
 
 Dim s As String
 Dim po As Pointer
 Dim c As Integer
 Dim bb As Byte[]
 Dim st As Stream
 Dim i As Integer
 
  s = "Testo qualsiasi"
  
  po = VarPtr(s)
  If po = 0 Then Error.Raise("Puntero no valido !")
   
  st = Memory po For Read
  
  With bb = New Byte[LAT]
    .Read(st, 0, bb.Count)
    s = .ToString(0, bb.Count)
  End With
  st.Close
  
  c = InStr(s, Chr(&40) & Chr(&6E) & Chr(&65))
  
  s = bb.ToString(c + 4, InStr(s, "\x00\x00", c) - (c + 4))
  
  Print "Elenco delle variabili 'locali' presenti:\n"
  Print Replace(s, "\x00", "\n")
  
End


Private Procedure Nomen(b As Byte)

 Dim sh As Short
 Dim n As Integer
 Dim v As Variant
 
End