Verificare l´esistenza di un oggetto

Da Gambas-it.org - Wikipedia.

Analizzeremo il caso in cui si debba verificare l'esistenza di un oggetto su un Form, e l'esistenza di un oggetto a sé stante che non abbia genitore.


Verifica sul form principale

Per verificare l'esistenza di oggetto su un form, possiamo adottare tre modalità:


1a modalità

Public Sub Button1_Click()

 If Object.IsValid(FMain["Nome_dell'oggetto"]) Then

  Print "L'oggetto è presente nel Form !"

Endif

End


2a modalità:

Public Sub Button1_Click()

 Print IsNull(Me.Controls["Nome_dell'oggetto"])

End


3a modalità:

Public Sub Button1_Click()

 Dim obj As Object
  
  For Each obj In FMain.Children

    Print obj.Name

  Next

End


Verifica su un form secondario

Se la verica dovrà essere compiuta su un form secondario, si potrà adottare il seguente algoritmo:

Public Sub Button1_Click()

 If Object.IsValid(FMain.classeSecondaria.FormSecondario["nome_oggetto"]) Then

    Print "L'oggetto è presente nel Form secondario !"

 Endif

End


Verifica di un oggetto a sé stante senza genitore

Poniamo il caso di un oggetto di tipo Window senza genitore, creato ad esempio così:

Private w As Window


Public Sub Form_Open()

 With w = New Window As "w"
   .W = 100
   .H = 200
   .X = 300
   .Y = 300  
   .Background = Color.Yellow
   .Show
 End With

End

Ne potremo verificare l'esistenza come segue:

Public sub Button1_Click()

' All'interno della funzione "Object.IsValid()" verrà inserita la variabile
' del tipo dell'oggetto a sé stante, del quale cui si vuole verificare l'esistenza:
  If Object.IsValid(w) Then
     Print "Oggetto esistente !"
  Endif

End