Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.01.2007, 20:29
bleed вне форума Посмотреть профиль Отправить личное сообщение для bleed Найти все сообщения от bleed
  № 1  
Ответить с цитированием
bleed

Регистрация: Jan 2007
Сообщений: 16
Question A script in this movie is causing adobe flash player 9 to run slowly

Добрый день,
написал простенький аплоадер файлов на сервер через flash
после выбора файлов происходит загрузка, которая длится некоторое время так вот примерно минут через пять выдается такое сообщение с выбором прервать или нет работу мувика:
Цитата:
A script in this movie is causing adobe flash player 9 to run slowly. If it continues to run, you computer may become unresponsive. Do you want to abort the script?
Как его избежать и по чему оно вообще лезет может кто знает?

Старый 29.01.2007, 20:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Где-то бесконечный цикл получается. Или рекурсия.

Старый 30.01.2007, 00:15
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 3  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Цитата:
Сообщение от bleed
Как его избежать и по чему оно вообще лезет может кто знает?
В коде ошибка, а где - без понятия. Приложите исходник, найдем.

Старый 30.01.2007, 08:22
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 4  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
Цитата:
Сообщение от bleed
написал простенький аплоадер файлов на сервер через flash
Цитата:
Где-то бесконечный цикл получается. Или рекурсия.
Наверное простенький не самое правильное определение, когда речь об отправке флешем данных на сервер. Поэтому и не работает.

Старый 30.01.2007, 18:33
bleed вне форума Посмотреть профиль Отправить личное сообщение для bleed Найти все сообщения от bleed
  № 5  
Ответить с цитированием
bleed

Регистрация: Jan 2007
Сообщений: 16
Код:
import flash.net.FileReferenceList;
import flash.net.FileReference;
var list:Array = new Array();
var item:FileReference;
var curnumber:Number = 0;
rec_mc._visible = false;
rec_mc.fillColor = 0x000066;

var listener:Object = new Object();

function Upload(i:Number)
{
	item = list[i];
	url="http://domain.ru/addfoto.php?action=upload&data="+escape(data);
	trace("Upload "+item.name);
    trace(item.addListener(listener));
	item.upload(url);
}

listener.onSelect = function(fileRefList:FileReferenceList) {
    trace("onSelect");
    list = fileRefList.fileList;
	rec_mc._visible = true;
	com.text = "Выбранно всего файлов: "+list.length+"шт. Осталось "+((list.length-1)-curnumber)+"шт.";
	trace("Выбранно файлов: "+list.length+"шт. Осталось ");
	Upload(0);
}

listener.onCancel = function():Void {
    trace("onCancel");
}

listener.onOpen = function(file:FileReference):Void {
    trace("onOpen: " + file.name);
	comment.text = "Загрузка: "+file.name;
}

listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
    trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal);
	var percent = bytesLoaded/file.size;
	drawRec(percent);
}

listener.onComplete = function(file:FileReference):Void {
    trace("onComplete: " + file.name);
	comment.text = "Загруженно";
	curnumber++;
	if(curnumber < list.length)
	{
		com.text = "Выбранно всего файлов: "+list.length+"шт. Осталось "+((list.length-1)-curnumber)+"шт.";
		Upload(curnumber);
	}
	else
	{
		comment.text = "Все Загруженно";
		getURL("http://domain.ru/");
	}
}

listener.onHTTPError = function(file:FileReference, httpError:Number):Void {
    trace("onHTTPError: " + file.name + " httpError: " + httpError);
	comment.text = "error";
}

listener.onIOError = function(file:FileReference):Void {
    trace("onIOError: " + file.name);
	comment.text = "io error";
}

listener.onSecurityError = function(file:FileReference, errorString:String):Void {
    trace("onSecurityError: " + file.name + " errorString: " + errorString);
	comment.text = "sec error";
}

function drawRec(per) {
trace("drawrec"+per);
rec_mc.clear();
rec_mc.lineStyle(0);
rec_mc.beginFill(rec_mc.fillColor, 70);
rec_mc.lineTo(per*rec_mc._width, 0);
rec_mc.lineTo(per*rec_mc._width, rec_mc._height);
rec_mc.lineTo(0, rec_mc._height);
rec_mc.lineTo(0, 0);
rec_mc.endFill();
}
var fileRef:FileReferenceList = new FileReferenceList();
fileRef.addListener(listener);
fileRef.browse();
Скрипт работает, т.е. файлы отправляются на сервер, единственно что вылазит вот то сообщение примерно минут через пять работы если указать в нем что не прерывать работы мувика, мувик аплоадит до конца и прерывает работу, т.е. выполняет то что ему нужно.


Последний раз редактировалось bleed; 30.01.2007 в 18:40.
Старый 30.01.2007, 18:37
bleed вне форума Посмотреть профиль Отправить личное сообщение для bleed Найти все сообщения от bleed
  № 6  
Ответить с цитированием
bleed

Регистрация: Jan 2007
Сообщений: 16
Цитата:
Сообщение от aksyos
Наверное простенький не самое правильное определение, когда речь об отправке флешем данных на сервер. Поэтому и не работает.
а простенький потому что это мой самый первый опыт программирования на ActionScript, потому не думаю что выполненно прямо архи профессионально, хотя опыт на с++ php javascript и perl дает о себе знать вроде все просто и понятно.

Старый 30.01.2007, 18:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Судя по всему, ты не отписываешь своего листенера от событий предыдущего загруженного файла.

Старый 30.01.2007, 18:59
bleed вне форума Посмотреть профиль Отправить личное сообщение для bleed Найти все сообщения от bleed
  № 8  
Ответить с цитированием
bleed

Регистрация: Jan 2007
Сообщений: 16
Цитата:
Сообщение от __etc
Судя по всему, ты не отписываешь своего листенера от событий предыдущего загруженного файла.
да, я думал об этом после того как вы написали что возможна рекурсия, сейчас пришло в голову такое изменение
Код:
function Upload(i:Number)
{
	item = list[i];
	url="http://domain.ru/addfoto.php?action=upload&data="+escape(data);
	trace("Upload "+item.name);
item.removeListener(listener);
    trace(item.addListener(listener));
	item.upload(url);
}
корректно ли так, если при первом вызове функции Upload ( Upload(0); ) когда listener еще не добавлен делать item.removeListener(listener); ?

Старый 30.01.2007, 20:11
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Не так.
Ты уже пользуешь новый item, а не старый. Т.е.
Код:
function Upload(i:Number)
{
if (item) {
   item.removeListener(listener);
}
	item = list[i];
	url="http://domain.ru/addfoto.php?action=upload&data="+escape(data);
	trace("Upload "+item.name);

    trace(item.addListener(listener));
	item.upload(url);
}

Старый 31.01.2007, 07:55
bleed вне форума Посмотреть профиль Отправить личное сообщение для bleed Найти все сообщения от bleed
  № 10  
Ответить с цитированием
bleed

Регистрация: Jan 2007
Сообщений: 16
Цитата:
Сообщение от __etc
Не так.
Ты уже пользуешь новый item, а не старый. Т.е.
да сорри ступил, не помогло, также примерно на 20м файле выдает собщение

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:28.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.