I have class that subclasses fl.controls.DataGrid. The function below from the DataGrid superclass throws a compile time error (implicit conversion fl.controls.DataGrid to DataGrid) when the subclass resides in an unnamed package.
If I place the subclass in a named package, the error disappears. If I use a different class name (e.g. DataGrid2), the error disappears.
I never intended to leave the subclass in an unnamed package. However, I am curious as to why the unnamed package is preventing the compiler from seeing that DataGrid is a subclass of fl.controls.DataGrid. Any ideas?
public function addColumnAt(column:*, index:uint):DataGridColumn {
var dataGridColumn:DataGridColumn;
if (index < _columns.length) {
// insert placeholder for new column
_columns.splice(index, 0, "");
// adjust colNums
for(var i:uint = index + 1; i < _columns.length; i++) {
dataGridColumn = _columns* as DataGridColumn;
dataGridColumn.colNum = i;
}
}
var col:* = column;
if(!(col is DataGridColumn)) {
if (col is String) {
col = new DataGridColumn(col);
} else {
col = new DataGridColumn();
}
}
dataGridColumn = col as DataGridColumn;
[COLOR=red]dataGridColumn.owner = this;[/COLOR]
dataGridColumn.colNum = index;
_columns[index] = dataGridColumn;
invalidate(InvalidationType.SIZE);
columnsInvalid = true;
return dataGridColumn;
}