2016-03-20 6 views
1

Auf einer Xojo WebApp habe ich eine TextFieldClass mit einer Eigenschaft "erforderlich als boolean" erstellt.Wie kann ich dynamisch auf eine Eigenschaft einer Unterklasse auf Xojo zugreifen?

Auf einer Webseite habe ich einige TextFieldClass Objekte.

Was ich tun möchte, ist einfach ... Ich möchte eine self.ControlCount auf der Webseite zu tun, und prüfen, ob alle textFieldClass mit der erforderlichen Eigenschaft mit "wahren" Wert in der Tat Inhalt haben. ?

Einfach, rechts ...

Dim i as integer 
Dim c As textFieldClass 
For i=0 To self.ControlCount 
    if self.ControlAtIndex(i) isa textFieldClass then 
     **c=self.ControlAtIndex(i) // i got an error… expected class textFieldClass, but got class webObject…** 
    End If 
Next 

Und wenn ich versuche:

Dim i as integer 
Dim c As WebObject 
For i=0 To self.ControlCount 
    if self.ControlAtIndex(i) isa textFieldClass then 
     c=self.ControlAtIndex(i) 
     **if c.required then // I got an error… Type "WebObject" has no member named "required"** 
      // do something here… 
     end if 
    End If 
Next 

Vielen Dank für Ihre Hilfe!

Antwort

2

Try this:

c = TextFieldClass(self.ControlAtIndex(i)) 
1

Sie wirklich in der Nähe waren. Da controlAtIndex ein RectControl zurückbringt, müssen Sie RectControl in die Unterklasse textFieldClass umwandeln. Technisch das gleiche wie oben, aber mit mehr Erklärungen.

Dim i as integer 
Dim c As WebObject 
For i=0 To self.ControlCount-1 //Fixes mistake in original code. 
    if self.ControlAtIndex(i) isa textFieldClass then 
     c= textFieldClass(self.ControlAtIndex(i)) //Need to cast here 
     if c.required then 
      // do something here… 
     end if 
    End If 
Next 
Verwandte Themen