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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.08.2013, 21:34
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 1  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
По умолчанию полный путь до класса по String( имени )

Есть возможность как то узнать полный путь до класса, зная только его имя 'Class' ?

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Зная только имя -- нет. Имея на руках объект, то flash.utils.getQualifiedClassName()
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 03.08.2013, 21:45
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 3  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Зная только имя -- нет.
Спасибо! Этого я боялся больше всего... а получить чистое строковое имя обьекта ( не [object ClassName] , а 'ClassName' ) тоже нельзя?

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

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

Старый 04.08.2013, 13:58
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Вроде справился, но не так как хотел изначально. Впервые столкнулся с flash.utils и немного поэкспериментировав понял, что у меня не получается. Пошёл в гугл, там примеры такие же, как я изначально и делал. Но они так же не работали как показано ниже.
Код AS3:
var name:String = 'MyClass';
var namePath:String = getQualifiedClassName(name);
var nameClass:Class = getDefinitionByName(namePath) as Class;
_dictionary[name] = new nameClass;
Пришлось делать массив:
Код AS3:
var obj:Object = {'name':ClassName};

Старый 04.08.2013, 14:12
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 6  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Akopalipsis, без обид. Но вы в элементарных вещах путайтесь, и в то же время пытайтесь усложнять код.

Старый 04.08.2013, 14:31
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 7  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Akopalipsis, без обид.
Конечно без! я всего полгода учу.
Цитата:
Но вы в элементарных вещах путайтесь, и в то же время пытайтесь усложнять код.
Можно узнать почему? Точнее, я прошу Вас указать на пробел.

Старый 04.08.2013, 14:39
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 8  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Вы беретесь за разные темы. Это видно по вопросам. Но глубины проработки не видно. Это следует из повторения вопросов, на которые уже были даны ответы причем не по одному разу.

Старый 04.08.2013, 15:06
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 9  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Вы беретесь за разные темы. Это видно по вопросам.
Тут я немного обьясню в чём дело.. Первым что я решил сделать, впервые запустив адобе флеш полгода назад - загрузчик. я подумал, что прежде чем что то делать, это надо загрузить. Сделав самый простой загрузчик и показав его, естественно я услышал слова - иди и учись. я так и сделал, учил шаблоны, учил и читал про ОПП и после этого опять взялся за загрузчик. Поняв, что я не могу его сделать из-за того, что я не знаю что именно надо грузить, я решил учится на примере создания сайта. Делал и каждую паузу приходил на форум и читал все новые темы. Как увижу что то, что мне необходимо, я брался и учил именно это. И так я сделал многое и у меня возник вопрос, а как сделалть ещё лучше. Тут я наткнулся на тему, где говорилось о RL. я взялся это учить и по ходу чтения литературы я наткнулся на обьяснения о пользе интерфейсов - ну и после чтения создал такую тему. Потом у меня появились сложности с самим RL
и я тоже создал тему. Когда я изучал темы на гитхабе, то наткнулся на пример, где при помощи RL встраивали BulkLoader и я вспомнил, что мне давали на него ссылку. я начав думать о новом загрузчике, создал такую тему, затем продолжая делать самый минимальный пример загрузчика под RL столкнулся с тем, что мне не хотелось создавать сразу все классы которые занимаются загрузкой в зависимости от формата. Получилось вот что:.. но не факт что это правильно, не возможно знать всё и сразу. Но я стараюсь .. Со стороны может показаться, что я просто копирую код, так как даже в этом коде есть часть от BulkLoader, но это не так. я вижу что у него классы названы так, что понятно сразу и делаю так же. Даже
Код AS3:
private const CLASS_ITEMS : Object = { 'ImageItem':ImageItem };
я увидел после создания этой темы и понял, что это наверное то что мне надо, до этого я пытался тоже самое сделать но только названия классов и массива Vector.<String> брать ( тоже такую тему создал ).

Код AS3:
package loader_package 
{
	import flash.utils.Dictionary;
	import flash.utils.getDefinitionByName;
	import flash.utils.getQualifiedClassName;
	import test.ILoad;
	public class LoadingItemsLib 
	{
		private var _dictionary:Dictionary = new Dictionary(true);
		private const CLASS_ITEMS : Object = { 'ImageItem':ImageItem };
 
		public function LoadingItemsLib() 
		{
 
		}
		internal function item(name:String):ILoad
		{
			if (_dictionary[name])
			{
				return _dictionary[name] as ILoad;
			}
			else
			{
				var object:Object = CLASS_ITEMS[name];
				var namePath:String = getQualifiedClassName(object);
				var nameClass:Class = getDefinitionByName(namePath) as Class;
				_dictionary[name] = new nameClass;
				return _dictionary[name] as ILoad;
			}
		}
 
	}
 
}
Цитата:
Это следует из повторения вопросов, на которые уже были даны ответы причем не по одному разу.
я всегда на поиском пользуюсь и даже по этой теме могу по памяти назвать несколько тем и их авторов и тех кто им отвечал.
и о flash.utils.getQualifiedClassName() я знал за долго до создания темы, я рассчитывал, что есть ещё какой то не известный мне класс, которой может по строке узнавать путь до класса.

Добавлено через 3 минуты
И Спасибо за замечания! всегда так делайте!

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Класс-телепат что-ли?
Ну вот Вам дали задание привести сюда Васю.
Как Вы себе представляете "по строке узнать путь до класса", если классов с таким именем может быть сотня прямо в вашем приложении?
Babylon пытается сказать, что у Вас знания какие-то несистематические. Это как знать вычисление гипотенузы по синусу и катету, но не знать о прямоугольном треугольнике. Очень странно пытаться разобраться в стороннем MVC-фреймворке на уровне "как сделано и почему", не зная при этом каких-то минимальных основ, про те же пакеты например. Это не наезд. Я хотел бы, чтобы Вы осознали обрывочность ваших знаний на этом этапе, и ПРИНЯЛИ МЕРЫ, чтобы залатать эти прорехи — почитали учебник, книгу, в которой знания даются систематизированно, а не кусками неопределенной сложности и зависимости. Не надо пытаться провести интернет в квартиры дома, у которого еще фундамент не заложен. Не надо хватать куски по принципу "ого как круто" из разных источников. Не то, что бы это Вас навсегда запутало. Просто очень много времени будет потрачено без толку, потому что во всем, что даже покажется понятым, останется соринка того, о чем Вы просто не знали, настолько элементарного, что никто об этом даже не подумал упомянуть. Соринка, из-за которой неправильным может оказаться все это "понимание". Изучите основы языка, прежде чем браться за ООП-фреймворки.
__________________
Reality.getBounds(this);

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

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

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


 


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


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