PDA

Просмотр полной версии : Zink 4 не срабатывает onComplete


casper_61
28.06.2013, 14:51
Всем привет, стоит задача создать снимок с камеры и отследить когда создание файла завершилось

Вот код

function doJPEG():void
{
var bmp:BitmapData = new BitmapData(videoHolder.width,videoHolder.height);
bmp.draw(videoHolder);
var jpgEncoder:JPGEncoder = new JPGEncoder(85);
var jpgStream:ByteArray = jpgEncoder.encode(bmp);
var jpgPath:String = mdm.Application.path + "myImage.jpg";

mdm.FileSystem.appendFileAsync(jpgPath, jpgPath);
mdm.FileSystem.BinaryFile.setDataBA(jpgStream);
mdm.FileSystem.BinaryFile.writeDataBA(jpgPath);

mdm.FileSystem.onComplete = function(event:Event):void
{
// operation completed/finished
txt.text = "Complete"
};

}


Самое интересное что если пишу его в кадре, то все работает, а если выношу в отдельный класс то onComplete перестает срабатывать, хотя все остальное продолжает работать нормально.

alexcon314
28.06.2013, 15:11
Немного общих соображений:
- назначать обработчик mdm.FileSystem.onComplete до начала работы с файлом;
- в классе, где вся канитель добавить метод наподобие:
public function onCompleteHandler(event:Event){txt.text = "Complete";}
и назначать:
mdm.FileSystem.onComplete = onCompleteHandler;
т.е. не использовать анонимную функцию, как у вас;