Conoscere il nome del Componente di appartenenza di una Classe mediante i sorgenti di Gambas

Da Gambas-it.org - Wikipedia.

Per conoscere il nome del Componente, al quale appartiene una Classe, è sufficiente usare questa riga di comando contenente specifiche risorse di Gambas:

Class.Load("Nome_della_Classe").Component.Name As String

In questa pagina, però, sarà mostrato come ottenenre il medesimo risultato utilizzando direttamente talune risorse contenute in alcuni file sorgente di Gambas.


Mostriamo un esempio pratico, nel quale si otterrà il nome del Componente, al quale appartiene la Classe "Image":

Public Sub Main()
 
 Dim im As Image
 Dim p1, p2, p3 As Pointer
 
' Crea un Oggetto "Image":
 im = New Image(100, 100, Color.Red, Image.Standard)
 
 p1 = Object.Address(im)  ' in Struttura GB_BASE    (gambas.h)
 p2 = Pointer@(p1)        ' in Struttura CLASS      (gbx_class.h)
 
' Mostra il nome della Classe prescelta:
 Print String@(Pointer@(p2 + 24))
 
 p3 = Pointer@(p2 + 200)  ' in Struttura COMPONENT (gbx_component.h)
' Mostra il nome del Componente di appartenenza della Classe prescelta:
 Print String@(Pointer@(p3 + 48))
 
' Verifichiamo la corrispondenza mediante le risorse specifiche di Gambas:
 Print Class.Load("Image").Component.Name
  
End


Pagina in costruzione !