Показать сообщение отдельно
Старый 23.12.2008, 01:11
Валенок вне форума Посмотреть профиль Отправить личное сообщение для Валенок Найти все сообщения от Валенок
  № 1  
Ответить с цитированием
Валенок

Регистрация: Dec 2008
Сообщений: 4
Post Загрузка изображения в CS4

Доброго времени суток, товарищи.
Есть код написанный в CS3, загружающий изображение. Картинка правда, должна находиться в той же папке, где и скомпилированая прога.


Код AS3:
var file:FileReference = new FileReference();
 
 
var _loader:Loader;
 
//отображение диалога открытия файла
function onShowloadDialog(event:Event):void
{
	var fileFilter:FileFilter = new FileFilter("Images", "*.jpg"); 
	try{
		filereference.browse([fileFilter]);
	}
	catch(illegalOperation:IllegalOperationError){
 
	}
}
 
//при выборе файла загружаем его
function onSelectFile(event:Event):void
{
	_loader =  new Loader();
	 var tf:TextField = new TextField();
	 tf.text = filereference.name;
 
	_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
	_loader.load(new URLRequest(filereference.name));
	trace(filereference.name);
}
 
 
//когда файл загружен производим с инфой необходимые нам действия
function onComplete(event:Event):void
{
 
	var image:Bitmap = Bitmap(_loader.content);
	bitmap = image.bitmapData;
	var myBitmap:Bitmap = new Bitmap ( bitmap );
 
 
}

В CS4 появился у класса FileReferece новый метод load(). С помощью кототорого можно загрузить картинку с любым путем.
Поэтому вышевыложеный код был переписан следущим образом:
Код AS3:
function onSelectFile(event:Event):void
{
	try{
	file.load();
	}
	catch(illegalOperation:IllegalOperationError)
	{
	}
}
 
 
function onComplete(event:Event):void
{
	_loader=new Loader();
	loader.loadBytes(file.data);
	var image:Bitmap = Bitmap(_loader.content);
 
}

Картинка теперь загружается из любого места, но(!) во время исполнения строчки:
var image:Bitmap = Bitmap(_loader.content);
Выдаеться следущая ошибка:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at kg_last_sasha_cs4_fla::MainTimeline/onComplete()
Если кто уже сталкивался с подобной проблемой, или просто знает решение, подскажите, пожалуйста, как решить.