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

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

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

Регистрация: Jun 2005
Адрес: Bryansk
Сообщений: 73
По умолчанию eval. создание объектов класса по строке-имени

Граждане! Подскажите, как можно с помощью eval создать объект класса по строке. То есть, например, есть у нас класс Class. Я хочу создать его экземпляр как-то вроде
Код:
var obj = new eval("Class")();
Так не проходит. Может кто-нить помочь?

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

Регистрация: Sep 2002
Сообщений: 30,787
Код:
Definition = eval('Class');
obj = new Definition();


Последний раз редактировалось etc; 02.08.2007 в 16:44.
Старый 02.08.2007, 17:25
Pecher вне форума Посмотреть профиль Отправить личное сообщение для Pecher Найти все сообщения от Pecher
  № 3  
Ответить с цитированием
Pecher
 
Аватар для Pecher

Регистрация: Jun 2005
Адрес: Bryansk
Сообщений: 73
Большое спасибо, помогло!
Интересно, почему мой вариант не прокатывал?

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

Регистрация: Sep 2002
Сообщений: 30,787
Синтаксически неверно.

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

Регистрация: Jun 2005
Адрес: Bryansk
Сообщений: 73
Что именно неверно?

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
а разве не проще сделать:
Код:
var obj:Class = new Class();
зачем этот eval сдался??
__________________
Flash Developer
Папа TDP4 Team Battle

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

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

Код:
trace(new (eval('MovieClipLoader'))());
Вообще, eval — рудимент прошлого, слава богу, в AS3 его нет.

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

Регистрация: Jun 2005
Адрес: Bryansk
Сообщений: 73
приоритет... во блин
а нужен eval для того, чтобы можно было к разным классам обращаться, а не только к Class

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
Цитата:
а нужен eval для того, чтобы можно было к разным классам обращаться, а не только к Class
эмм...можно какой-нить примерчик посмотреть?
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 02.08.2007, 18:03
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от Pecher
приоритет... во блин
а нужен eval для того, чтобы можно было к разным классам обращаться, а не только к Class
А что с аргументами класса делать будете?
И использовать тогда уже такой способ
Код:
function classCreate (nameClass:Function) {
	return new nameClass ();
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 02.08.2007 в 18:07.
Создать новую тему Ответ Часовой пояс GMT +4, время: 04:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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