1

在 Xojo WebApp 上,我创建了一个TextFieldClass带有“必需为布尔值”的属性。

在网页上,我有一些TextFieldClass对象。

我想做的很简单......我想self.ControlCount在网页上做一个,并检查所有textFieldClass具有“true”值的所需属性实际上是否有内容。

简单,对吧?…</p>

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

谢谢你的帮助!

4

2 回答 2

2

尝试这个:

c = TextFieldClass(self.ControlAtIndex(i))
于 2016-03-20T21:29:17.773 回答
1

你真的很亲近。由于 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
于 2016-03-20T22:02:53.830 回答