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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.08.2011, 13:16
kaploson вне форума Посмотреть профиль Отправить личное сообщение для kaploson Найти все сообщения от kaploson
  № 31  
Ответить с цитированием
kaploson

Регистрация: Aug 2011
Сообщений: 52
Попробовал не получилось.. все равно таже ошибка :
Цитата:
ArgumentError: Error #1063: Несоответствие количества аргументов в Main(). Ожидалось 1, получено 0.

Старый 20.08.2011, 16:06
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 32  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
вы в класс Main что-нибудь передаете? Насколько я понял он является основным классом , соответственно он должен создаваться без параметров.
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 20.08.2011, 16:20
kaploson вне форума Посмотреть профиль Отправить личное сообщение для kaploson Найти все сообщения от kaploson
  № 33  
Ответить с цитированием
kaploson

Регистрация: Aug 2011
Сообщений: 52
Да класс Main является основным классом.

Вы мне просто раньше писали:
Цитата:
Вам надо как-то классу Main передать ваш XML , можно сделать так же в конструкторе

Код AS3rivate var _info:XML;
public function Main(info:XML)
{
this._info = info;
}


...... mean :
var number:Main = new Main(this._info);
Я так и сделал...
А если сделать без параметров, то все скомпилится нормально без ошибки, но при нажатии на кнопку информация :
Цитата:
for each(var i in ids)
{
_text.htmlText += '<a href = "event:' + i + '">' + ids[i].name + '</a>\n' + ids[i].date
}
не отобразится, хотя от сервера идет..

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

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
просто сделайте переменную в Main и назначайте ее , не в конструкторе
Код AS3:
private var _info:XML;
public function Main()
{
}
 
public function set info(value:XML):void
{
this._info = value;
}
просто непонятна структура приложения
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 20.08.2011, 18:12
kaploson вне форума Посмотреть профиль Отправить личное сообщение для kaploson Найти все сообщения от kaploson
  № 35  
Ответить с цитированием
kaploson

Регистрация: Aug 2011
Сообщений: 52
Структура приложения:
Есть главный класс Main.В нем все функции работы с БД и различные испольняющие, например вывод в блоки информации.
И есть второй класс mean. Он используются как вывод информации в блоки ( контейнер).
При нажатии на кнопку которая описана в Maine вызывается функция, которая рисует блоки и выводит в них информацию, которая берется из mean'a.
После того как блоки и информация в нем отобразятся необходимо сделать, чтобы можно было нажать на имя и тогда бы вызвалась функция которая находится в Maine.

Приведу код который сейчас:
Main :
Код AS3:
public var _info:XML;
 public function Main():void
		{
	        if (stage) init();
	        else addEventListener(Event.ADDED_TO_STAGE, init);
	}
public function ClickHandler(e:TextEvent) : void
		{
	var index:uint = uint(e.text)
  	var ids:XMLList = _info.part;
            // создание запроса
            var stat_loader:URLLoader = new URLLoader();
            var stat_request:URLRequest=new URLRequest("http://site.ru/test.php");
            stat_request.method=URLRequestMethod.POST;
            // добавление параметров в запрос
            var stat_vars:URLVariables = new URLVariables();
            stat_vars['search'] =  ids[index].name;
            stat_request.data=stat_vars;
            stat_loader.addEventListener(Event.COMPLETE,testing);//Функция testing просто для вывода результата
            stat_loader.load(stat_request);		
							}
 
 
public function set info(value:XML):void
 {
this._info = value;
}
Класс mean:
Код AS3:
private var _info:XML;
public function mean(info:XML) 
		{
			_info = info;
			func();
}
private function func():void
		{
 
    	  var ids:XMLList = _info.part;
              var number:Main = new Main();
 
 
			_text = new TextField();
			_text.defaultTextFormat = _textFormat;
			_text.multiline = true;
			_text.wordWrap = true;
			_text.width = _blockWidth - 20;
 
        for each(var i in ids)
            {
    _text.htmlText += '<a href = "event:' + i + '">' + ids[i].name.text + '</a>\n' + ids[i].date.text;
	}
 _text.addEventListener(TextEvent.LINK, number.ClickHandler);
 
	_text.height = _text.textHeight + 25;
 
		}
Сам файл XML который идет от БД вида:
Код:
<data>
	<part>
		<name>ИМЯ1</name>
		<date>22.09.2011</date>
            </part>
            <part>
		<name>ИМЯ2</name>
		<date>11.09.2011</date>
            </part>
............          
  <part>
		<name>ИМЯN</name>
		<date>22.11.2012</date>
            </part>
</data>
В таком состоянии приложение нормально компилируется,но при нажатии на кнопку которая должна отображать блоки и информацию ничего не происходит..

Если заменить
Код AS3:
 for each(var i in ids)
			{
    		_text.htmlText += '<a href = "event:' + i + '">' + ids[i].name.text + '</a>\n' + ids[i].date.text;
			}
на:

Код AS3:
_text.htmlText = _info..name.text()+ "\n" +_info..date.text()+"\n" ;
То информация будет просто выводится на экран..Но мне нужно чтобы можно было кликать на определенное name (их может будет несколько ) и это name передавалось функции в maine, тоесть функции ClickHandler.

Старый 20.08.2011, 18:20
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 36  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
если у вас _info:XML; в maine инициализируется все должно работать. Только var number:Main = new Main(); в mean не должно быть , вы создаете главный класс в дочернем.

Код AS3:
_text.addEventListener(TextEvent.LINK, number.ClickHandler); //Попробуйте заменить на 
_text.addEventListener(TextEvent.LINK, parent.ClickHandler);
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 20.08.2011, 18:26
kaploson вне форума Посмотреть профиль Отправить личное сообщение для kaploson Найти все сообщения от kaploson
  № 37  
Ответить с цитированием
kaploson

Регистрация: Aug 2011
Сообщений: 52
заменил Ошибка : Обращение возможного неопределенного свойства ClickHandler через ссылку со статическим типом flash.displayisplayObjectContainer .

Старый 20.08.2011, 18:37
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 38  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
какой родительский класс у класса mean?

попробуйте
Код AS3:
var main:Main = this.parent as Main; //или var main:Main = this.parent.parent as Main
trace(this.parent) //Что выдаст?
_text.addEventListener(TextEvent.LINK, main.ClickHandler);
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 20.08.2011, 19:11
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 39  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
public function Main(info:XML)
{
this._info = info;
}
 
var number:Main = new Main(this._info);
В мемориз

Код AS3:
var лимон:Арбуз = new Арбуз(дыня);
и вот еще

Код AS3:
public class готовыйСтол(осталось_собрать:Ножки) { }
Добавлено через 1 минуту
Код AS3:
addEventListener(TextEvent.LINK
Какие то не опробаванные мной евенты! в 10.3 вышли или были уже?
__________________
Марк Tween

Старый 20.08.2011, 19:21
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 40  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Какие то не опробаванные мной евенты! в 10.3 вышли или были уже?
В 9.0.
__________________
משיח לא בא
משיח גם לא מטלפן

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

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

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


 


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


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