0

在对象上调用函数时,我收到错误“错误 #1069:在字段上找不到属性编组”。另外,我很确定它以前可以工作(几个月没有打开该项目)。这没有意义,因为该函数存在:

在 SQLColumn.as 上:

public function marshall():String {
    var request:String = name;

    //... 

    return request;
}

并且有错误的代码(在另一个类中):

var field:SQLColumn; // value object class with one function (shown above)

for (var i:int;i<fieldsLength;i++) {
    field = fields[i];
    if (i>0) request += ",";
    request += " " + field.marshall(); // error here- the debugger doesn't even step into the function and the compiler has no problems at compile time
}

此外,我将函数更改为 SQLColumn 类上的静态方法并传入列字段,这确实有效。

public static function marshall(column:SQLColumn):String {
    var request:String = column.name;

    //... 

    return request;
}

在另一个班级,

request += " " + SQLColumn.marshall(field); // works

~~更新~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~

所以在我将它更改为静态并且它工作之后,我将它改回原来的状态,现在它正在工作......没有运行时错误。

4

0 回答 0