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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Jun 2011
Сообщений: 217
По умолчанию Последняя ошибка в приложении. Error #1009

Код AS3:
package 
{
	import flash.events.MouseEvent;
	import flash.display.MovieClip;
	import flash.display.DisplayObject;
 
	public class App extends MovieClip
	{
		var using2:Boolean = false;
		var using3:Boolean = false;
 
		var b1:int;
		var b2:int;
		var b3:int;
 
		var v:int = 0;
		var les:int = 0;
		var sbor:int = 0;
 
		var v1:int = 0;
		var v2:int = 0;
		var v3:int = 0;
 
		var les1:int = 0;
		var les2:int = 0;
		var les3:int = 0;
 
		var d1:int = 0;
		var d2:int = 0;
		var d3:int = 0;
 
		public function App()
		{
			act2.addEventListener(MouseEvent.CLICK,activating2etaj);
			act3.addEventListener(MouseEvent.CLICK,activating3etaj);
			add_itog.addEventListener(MouseEvent.CLICK,resultat);
		}
 
		public function activating2etaj(e:MouseEvent):void
		{
			act2.enabled = false;
			act3.mouseEnabled = true;
			act3.enabled = true;
			using2 = true;
			diametr_2.enabled = true;
			dl2etaja.enabled = true;
			sh2etaja.enabled = true;
			dlperegorodok2.enabled = true;
			visotaetaja2.enabled = true;
		}
 
		public function activating3etaj(e:MouseEvent):void
		{
			act3.enabled = false;
			using3 = true;
			diametr_3.enabled = true;
			dl3etaja.enabled = true;
			sh3etaja.enabled = true;
			dlperegorodok3.enabled = true;
			visotaetaja3.enabled = true;
		}
 
		public function resultat(e:MouseEvent):void
		{
			if (diametr_1.selectedItem.label == "20-22")
			{
				d1 = 21;
			}
			if (diametr_1.selectedItem.label == "22-24")
			{
				d1 = 23;
			}
			if (diametr_1.selectedItem.label == "24-28")
			{
				d1 = 26;
			}
			if (diametr_1.selectedItem.label == "28-32")
			{
				d1 = 30;
			}
			if (diametr_1.selectedItem.label == "32-36")
			{
				d1 = 34;
			}
			if (diametr_1.selectedItem.label == "36-44")
			{
				d1 = 40;
			}
 
			if (using2 = true)
			{
				if (diametr_2.selectedItem.label == "20-22")
				{
					d2 = 21;
				}
				if (diametr_2.selectedItem.label == "22-24")
				{
					d2 = 23;
				}
				if (diametr_2.selectedItem.label == "24-28")
				{
					d2 = 26;
				}
				if (diametr_2.selectedItem.label == "28-32")
				{
					d2 = 30;
				}
				if (diametr_2.selectedItem.label == "32-36")
				{
					d2 = 34;
				}
				if (diametr_2.selectedItem.label == "36-44")
				{
					d2 = 40;
				}
			}
 
			if (using3 = true)
			{
				if (diametr_3.selectedItem.label == "20-22")
				{
					d3 = 21;
				}
				if (diametr_3.selectedItem.label == "22-24")
				{
					d3 = 23;
				}
				if (diametr_3.selectedItem.label == "24-28")
				{
					d3 = 26;
				}
				if (diametr_3.selectedItem.label == "28-32")
				{
					d3 = 30;
				}
				if (diametr_3.selectedItem.label == "32-36")
				{
					d3 = 34;
				}
				if (diametr_3.selectedItem.label == "36-44")
				{
					d3 = 40;
				}
			}
 
			v1 = 2 * int(visotaetaja1) *(int(dl1etaja.text) + int(sh1etaja.text)) + int(visotaetaja1.text) * int(dlperegorodok1.text) * (d1 / 100);
			if (using2 = true)
			{
				v2 = 2 * int(visotaetaja2) *(int(dl2etaja.text) + int(sh2etaja.text)) + int(visotaetaja2.text) * int(dlperegorodok2.text) * (d2 / 100);
			}
			if (using2 = true)
			{
				v3 = 2 * int(visotaetaja3) *(int(dl3etaja.text) + int(sh3etaja.text)) + int(visotaetaja3.text) * int(dlperegorodok3.text) * (d3 / 100);
			}
 
			v = v1 + v2 + v3;
 
			les1=int(diametr_1.selectedItem.data) * v1;
			les2=int(diametr_2.selectedItem.data) * v2;
			les3=int(diametr_3.selectedItem.data) * v3;
 
			les = les1 + les2+ les3;
 
			sbor = les /2;
 
			cost_lesa.text = String(les);;
			v_all.text = String(v);;
			cost_sborki.text = String(sbor);;
		}
	}
 
}
Вот текст ошибки: TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at App/resultat()
При нажатии на кнопку выполняется функция resultat. По тексту ошибки флеш считает, что она нулевая. Кто может помочь найти ошибку?

Старый 06.07.2011, 17:26
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 2  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Debug поможет. Покажет хотя бы в какой строчке ошибка.

Старый 06.07.2011, 17:28
argoniummm вне форума Посмотреть профиль Отправить личное сообщение для argoniummm Найти все сообщения от argoniummm
  № 3  
Ответить с цитированием
argoniummm

Регистрация: Jun 2011
Сообщений: 217
А как использовать во флеше дебаг?

Старый 06.07.2011, 17:29
MXPain вне форума Посмотреть профиль Отправить личное сообщение для MXPain Найти все сообщения от MXPain
  № 4  
Ответить с цитированием
MXPain
 
Аватар для MXPain

Регистрация: Dec 2008
Сообщений: 305
Записей в блоге: 1
скажу сразу using2 = true
зачем вы присваиваете значение то в условии? using2 == true - вот так нужно

Добавлено через 46 секунд
поставить дебаг плеер для начала

Добавлено через 1 минуту
вот так var les1:int = 0; писать не обязательно можно var les1:int, v2:int;

Старый 06.07.2011, 17:32
argoniummm вне форума Посмотреть профиль Отправить личное сообщение для argoniummm Найти все сообщения от argoniummm
  № 5  
Ответить с цитированием
argoniummm

Регистрация: Jun 2011
Сообщений: 217
ой. Тупанул =) Спасибо за помощь. Ошибка исчезла.

Старый 06.07.2011, 17:34
MXPain вне форума Посмотреть профиль Отправить личное сообщение для MXPain Найти все сообщения от MXPain
  № 6  
Ответить с цитированием
MXPain
 
Аватар для MXPain

Регистрация: Dec 2008
Сообщений: 305
Записей в блоге: 1
зачем нужны переменные using2 и using3 если ничего не меняется в условии?

Старый 06.07.2011, 17:37
argoniummm вне форума Посмотреть профиль Отправить личное сообщение для argoniummm Найти все сообщения от argoniummm
  № 7  
Ответить с цитированием
argoniummm

Регистрация: Jun 2011
Сообщений: 217
Нет, не помогло. Вот последний код:
Код AS3:
package 
{
	import flash.events.MouseEvent;
	import flash.display.MovieClip;
	import flash.display.DisplayObject;
 
	public class App extends MovieClip
	{
		var using2:Boolean = false;
		var using3:Boolean = false;
 
		var b1:int;
		var b2:int;
		var b3:int;
 
		var v:int = 0;
		var les:int = 0;
		var sbor:int = 0;
 
		var v1:int = 0;
		var v2:int = 0;
		var v3:int = 0;
 
		var les1:int = 0;
		var les2:int = 0;
		var les3:int = 0;
 
		var d1:int = 0;
		var d2:int = 0;
		var d3:int = 0;
 
		public function App()
		{
			act2.addEventListener(MouseEvent.CLICK,activating2etaj);
			act3.addEventListener(MouseEvent.CLICK,activating3etaj);
			add_itog.addEventListener(MouseEvent.CLICK,resultat);
		}
 
		public function activating2etaj(e:MouseEvent):void
		{
			act2.enabled = false;
			act3.mouseEnabled = true;
			act3.enabled = true;
			using2 = true;
			diametr_2.enabled = true;
			dl2etaja.enabled = true;
			sh2etaja.enabled = true;
			dlperegorodok2.enabled = true;
			visotaetaja2.enabled = true;
		}
 
		public function activating3etaj(e:MouseEvent):void
		{
			act3.enabled = false;
			using3 = true;
			diametr_3.enabled = true;
			dl3etaja.enabled = true;
			sh3etaja.enabled = true;
			dlperegorodok3.enabled = true;
			visotaetaja3.enabled = true;
		}
 
		public function resultat(e:MouseEvent):void
		{
			if (diametr_1.selectedItem.label == "20-22")
			{
				d1 = 21;
			}
			if (diametr_1.selectedItem.label == "22-24")
			{
				d1 = 23;
			}
			if (diametr_1.selectedItem.label == "24-28")
			{
				d1 = 26;
			}
			if (diametr_1.selectedItem.label == "28-32")
			{
				d1 = 30;
			}
			if (diametr_1.selectedItem.label == "32-36")
			{
				d1 = 34;
			}
			if (diametr_1.selectedItem.label == "36-44")
			{
				d1 = 40;
			}
 
			if (using2 == true)
			{
				if (diametr_2.selectedItem.label == "20-22")
				{
					d2 = 21;
				}
				if (diametr_2.selectedItem.label == "22-24")
				{
					d2 = 23;
				}
				if (diametr_2.selectedItem.label == "24-28")
				{
					d2 = 26;
				}
				if (diametr_2.selectedItem.label == "28-32")
				{
					d2 = 30;
				}
				if (diametr_2.selectedItem.label == "32-36")
				{
					d2 = 34;
				}
				if (diametr_2.selectedItem.label == "36-44")
				{
					d2 = 40;
				}
			}
 
			if (using3 == true)
			{
				if (diametr_3.selectedItem.label == "20-22")
				{
					d3 = 21;
				}
				if (diametr_3.selectedItem.label == "22-24")
				{
					d3 = 23;
				}
				if (diametr_3.selectedItem.label == "24-28")
				{
					d3 = 26;
				}
				if (diametr_3.selectedItem.label == "28-32")
				{
					d3 = 30;
				}
				if (diametr_3.selectedItem.label == "32-36")
				{
					d3 = 34;
				}
				if (diametr_3.selectedItem.label == "36-44")
				{
					d3 = 40;
				}
			}
 
			v1 = 2 * int(visotaetaja1) *(int(dl1etaja.text) + int(sh1etaja.text)) + int(visotaetaja1.text) * int(dlperegorodok1.text) * (d1 / 100);
			if (using2 == true)
			{
				v2 = 2 * int(visotaetaja2) *(int(dl2etaja.text) + int(sh2etaja.text)) + int(visotaetaja2.text) * int(dlperegorodok2.text) * (d2 / 100);
			}
			if (using2 == true)
			{
				v3 = 2 * int(visotaetaja3) *(int(dl3etaja.text) + int(sh3etaja.text)) + int(visotaetaja3.text) * int(dlperegorodok3.text) * (d3 / 100);
			}
 
			v = v1 + v2 + v3;
 
			les1=int(diametr_1.selectedItem.data) * v1;
			les2=int(diametr_2.selectedItem.data) * v2;
			les3=int(diametr_3.selectedItem.data) * v3;
 
			les = les1 + les2+ les3;
 
			sbor = les /2;
 
			cost_lesa.text = String(les);;
			v_all.text = String(v);;
			cost_sborki.text = String(sbor);;
		}
	}
 
}


Последний раз редактировалось argoniummm; 06.07.2011 в 17:39.
Старый 06.07.2011, 17:47
MXPain вне форума Посмотреть профиль Отправить личное сообщение для MXPain Найти все сообщения от MXPain
  № 8  
Ответить с цитированием
MXPain
 
Аватар для MXPain

Регистрация: Dec 2008
Сообщений: 305
Записей в блоге: 1
int(visotaetaja1) ну видимо это текстовое поле?

Добавлено через 42 секунды
v2 = 2 * int(visotaetaja2) *(int(dl2etaja.text)

Добавлено через 1 минуту
чтобы не делать таких дурацких ошибок используйте дебаг режим

Старый 06.07.2011, 17:55
argoniummm вне форума Посмотреть профиль Отправить личное сообщение для argoniummm Найти все сообщения от argoniummm
  № 9  
Ответить с цитированием
argoniummm

Регистрация: Jun 2011
Сообщений: 217
Исправил эти ошибки, но всёравно пишет что ссылается на null
вот последняя версия функции:
Код AS3:
	public function resultat(e:MouseEvent):void
		{
			if (diametr_1.selectedItem.label == "20-22")
			{
				d1 = 21;
			}
			if (diametr_1.selectedItem.label == "22-24")
			{
				d1 = 23;
			}
			if (diametr_1.selectedItem.label == "24-28")
			{
				d1 = 26;
			}
			if (diametr_1.selectedItem.label == "28-32")
			{
				d1 = 30;
			}
			if (diametr_1.selectedItem.label == "32-36")
			{
				d1 = 34;
			}
			if (diametr_1.selectedItem.label == "36-44")
			{
				d1 = 40;
			}
 
			if (using2 == true)
			{
				if (diametr_2.selectedItem.label == "20-22")
				{
					d2 = 21;
				}
				if (diametr_2.selectedItem.label == "22-24")
				{
					d2 = 23;
				}
				if (diametr_2.selectedItem.label == "24-28")
				{
					d2 = 26;
				}
				if (diametr_2.selectedItem.label == "28-32")
				{
					d2 = 30;
				}
				if (diametr_2.selectedItem.label == "32-36")
				{
					d2 = 34;
				}
				if (diametr_2.selectedItem.label == "36-44")
				{
					d2 = 40;
				}
			}
 
			if (using3 == true)
			{
				if (diametr_3.selectedItem.label == "20-22")
				{
					d3 = 21;
				}
				if (diametr_3.selectedItem.label == "22-24")
				{
					d3 = 23;
				}
				if (diametr_3.selectedItem.label == "24-28")
				{
					d3 = 26;
				}
				if (diametr_3.selectedItem.label == "28-32")
				{
					d3 = 30;
				}
				if (diametr_3.selectedItem.label == "32-36")
				{
					d3 = 34;
				}
				if (diametr_3.selectedItem.label == "36-44")
				{
					d3 = 40;
				}
			}
 
			v1 = (2 * int(visotaetaja1.text) *(int(dl1etaja.text) + int(sh1etaja.text)) + int(visotaetaja1.text) * int(dlperegorodok1.text)) * (d1 / 100);
			if (using2 == true)
			{
				v2 = (2 * int(visotaetaja2.text) *(int(dl2etaja.text) + int(sh2etaja.text)) + int(visotaetaja2.text) * int(dlperegorodok2.text)) * (d2 / 100);
			}
			if (using2 == true)
			{
				v3 = (2 * int(visotaetaja3.text) *(int(dl3etaja.text) + int(sh3etaja.text)) + int(visotaetaja3.text) * int(dlperegorodok3.text)) * (d3 / 100);
			}
 
			v = v1 + v2 + v3;
 
			les1 = int(diametr_1.selectedItem.data) * v1;
			les2 = int(diametr_2.selectedItem.data) * v2;
			les3 = int(diametr_3.selectedItem.data) * v3;
 
			les = les1 + les2 + les3;
 
			sbor = les / 2;
 
			cost_lesa.text = String(les);;
			v_all.text = String(v);;
			cost_sborki.text = String(sbor);;
		}

Старый 06.07.2011, 18:02
MXPain вне форума Посмотреть профиль Отправить личное сообщение для MXPain Найти все сообщения от MXPain
  № 10  
Ответить с цитированием
MXPain
 
Аватар для MXPain

Регистрация: Dec 2008
Сообщений: 305
Записей в блоге: 1
а что это за приведение типов?


надо вот так
parseInt(visotaetaja3.text)
(sbor).toString();

Добавлено через 1 минуту
проверяйте дебаггером, в этом и заключается работа программиста

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

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

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


 


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


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