2016-03-20 15 views
1

Bir Xojo Web Uygulaması üzerinde, "boolean olarak gerekli" özelliği olan bir TextFieldClass oluşturdum.Xojo'daki bir alt sınıfın bir özelliğine dinamik olarak nasıl erişebilirim?

Bir web sayfasında, bazı TextFieldClass nesneleri var.

Yapmak istediğim şey basit… Web sayfasında bir self.ControlCount yapmak istiyorum ve "true" değerine sahip olan tüm içeriğinin aslında içinde içerik olup olmadığını kontrol edin. ?

Kolay, sağ ...

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 

Ve eğer ben denemek: Yardımlarınız için

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 

Teşekkür!

cevap

2

bu deneyin:

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

Gerçekten yakındı. ControlAtIndex bir RectControl getirdiğinden, textFieldClass alt sınıfına RectControl atmanız gerekir. Teknik olarak yukarıdaki ile aynı ancak daha fazla açıklama ile.

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 
İlgili konular