Я хочу расширить класс FileReference Flex, чтобы он содержал пользовательское свойство. Я хочу сделать это, потому что AS3 не позволяет мне передавать аргументы функциям через прослушиватели событий, что меня огорчает, поэтому мне нужно, чтобы это свойство существовало в цели события, чтобы я мог получить к нему доступ.
Я также хочу иметь возможность приводить существующие объекты FileReference к этому классу без каких-либо суеты. У меня есть:
var fr:SmxFR = e.target as SmxFR
и я хочу, чтобы это сработало; сейчас он просто возвращает ноль.
Пустой, недавно созданный объект SmxFR
имеет расширенное свойство на месте, но все его унаследованные свойства и объекты возвращают Error: Error #2037: Functions called in incorrect sequence, or earlier call was unsuccessful.
Это класс, которым я пользуюсь, SmxFR.as
:
package
{
import flash.net.FileReference;
public class SmxFR extends FileReference
{
public var housenum:String = "";
public function SmxFR()
{
super();
}
}
}
Держал это так просто, как мог, правда. Может кто-нибудь помочь мне разобраться? Спасибо.
Edit:
Для запроса это экземпляр, который приводит к вышеупомянутой ошибке во всех унаследованных объектах:
var fr:SmxFR = new SmxFR();
Из этого я получаю свойство live handle, а все остальные (то есть унаследованные) свойства бросают Error #2037
.
Итак, может быть, то, что я хочу сделать, потребует переопределения FileReferenceList
? Если исходные объекты должны быть созданы до SxmFR
, это то, что я должен сделать, так как я использую FRL, чтобы позволить пользователю выбирать несколько файлов одновременно. Ребята, вы уверены, что нет возможности быстро пройти от FileReference
до моего класса?