Qualora vengano caricati manualmente o automaticamente (per dipendenza) due o più Componenti Gambas, il tuo codice non riesce ancora precisamente ad assegnare a ciascun Componente caricato le rispettive Classi, ma comunque le individua.
fallisce, qualora sia caricato un solo Componente.
Ne farò una pagina nella nostra wiki.
Public Sub Main()
Dim simboli As String[] = ["Main", "Debug", "^System", "Highlight", "Expression", "Pointer[]", "Long[]", "Object[]",
"Date[]", "Single[]", "Float[]", "Integer[]", "Short[]", "Byte[]", "Boolean[]", ".Array.Bounds",
"Observer", "Timer", "Task", "_BoxedString", "String", "Jit", "User", "System",
"Process", "Application", "Args", "Env", "File", "Stat", "Stat.Perm", ".Stream.Term",
".Stream.Lines", "Error", "Collection", "Object", "Components", "Classes", "Array", "String[]",
".Symbol", "Enum", "Variant[]", "Param", "gb", "Stream", "Component", "Class"]
Dim cp As Component
Dim c As Class
Dim b As Byte
' Carica il Componente:
cp = Component.Load("gb.sdl2.audio")
Print String(Len(cp.Name), "=\e[1m")
Print cp.Name
Print String(Len(cp.Name), "\e[0m=")
For Each c In Classes
If (Not simboli.Exist(c.name)) And (Left(c.name, 1) <> ".") Then
Inc b
If Left(c.name, 1) = "^" Then
Print b;; Right(c.Name, Len(c.Name) - 1)
Else
Print b;; c.Name
Endif
Endif
Next
End