Class 如何动态访问Xojo上子类的属性?
在Xojo WebApp上,我创建了一个属性为“required as boolean”的Class 如何动态访问Xojo上子类的属性?,class,object,web-applications,properties,xojo,Class,Object,Web Applications,Properties,Xojo,在Xojo WebApp上,我创建了一个属性为“required as boolean”的TextFieldClass 在网页上,我有一些TextFieldClass对象 我想做的很简单…我想在网页上做一个self.ControlCount,检查所有textFieldClass,以及具有“true”值的所需属性是否实际上都包含内容 简单,对吧 Dim i as integer Dim c As textFieldClass For i=0 To self.ControlCount if
TextFieldClass
在网页上,我有一些TextFieldClass
对象
我想做的很简单…我想在网页上做一个self.ControlCount
,检查所有textFieldClass
,以及具有“true”值的所需属性是否实际上都包含内容
简单,对吧
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
如果我尝试:
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
谢谢你的帮助 试试这个:
c = TextFieldClass(self.ControlAtIndex(i))
你真的很接近。因为controlAtIndex带回了一个RectControl,所以必须将RectControl强制转换为textFieldClass子类。技术上与上述相同,但有更多解释
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