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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.10.2010, 13:28
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 11  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
andrew911, ну и что? Я спросил почему рекомендуют вдруг Object, в теме что Вы дали черном-по белому написано, что не Object. Это как бы нормальное поведение языка без оверлоадинга.

-De-, не совсем понял причем тут гугол, ну да ладно. Приводя к Object мы имеем что-то с базовым типом Object, т.е. всё что угодно - int, String, экземпляр Sprite, ссылка на класс и т.д. Вызывая у него метод - мы вызываем его с динамическим доступом. Если привести что то к типу Class, а потом вызвать так же, динамически: myClass["staticMethod"](); - он тоже вызовется.

Вопрос к умным людям - есть ли возможность в таком раскладе вызвать статический метод без динамического доступа?

Цитата:
Если нигде, кроме как в этой строке "полное.имя.класса" класс не встречается, вероятно, данный класс не включается в флешку. Чтобы этого не произошло, нужно сделать так:
Ошибка вылетит тогда на этапе работы, а не компиляции, вся разница.

Старый 20.10.2010, 14:33
zuxul вне форума Посмотреть профиль Отправить личное сообщение для zuxul Найти все сообщения от zuxul
  № 12  
Ответить с цитированием
zuxul

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Ошибка вылетит тогда на этапе работы, а не компиляции, вся разница.
О какой ошибке компиляции Вы говорите?

Старый 20.10.2010, 14:45
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 13  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Цитата:
Сообщение от zuxul Посмотреть сообщение
О какой ошибке компиляции Вы говорите?
Упс. Не заметил упоминание в коде класса до использования. Всё верно, Ваш пример верный.

Старый 20.10.2010, 17:24
Demoralizator вне форума Посмотреть профиль Отправить личное сообщение для Demoralizator Найти все сообщения от Demoralizator
  № 14  
Ответить с цитированием
Demoralizator

Регистрация: May 2009
Сообщений: 20
всем спасибо за отзывы.

Bgg, -De-
проблема не в Class и Object, иначе было бы implicit coersion. в любом случае проверил - не работает.

zuxul
класс встречается. объекты создаются несколько раз.

вопрос остаётся


Последний раз редактировалось Demoralizator; 20.10.2010 в 18:15.
Старый 20.10.2010, 17:33
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 15  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Вот так все работает, проверил:
Код AS3:
var statClass:Object = getDefinitionByName("StatClass") as Object;
statClass.statMethod();
 
или
 
(getDefinitionByName("StatClass") as Class).statMethod();

Старый 20.10.2010, 17:41
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 16  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Код AS3:
(getDefinitionByName("StatClass") as Class).statMethod();
А у меня не компилируется, оно и логично: у Class нету startMethod. У вас включен strict mode?

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Угу, не отключал его никогда. FD 3.3.0 + FlexSDK 4

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Это очень интересно.
Проверил - Ваш пример работает. Как тестил я:
Код AS3:
var cl:Class = getDefinitionByName("JustMain") as Class;
cl.hello();
Ошибка. Что я не понимаю?

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

Регистрация: May 2009
Сообщений: 20
Bgg
Код AS3:
(getDefinitionByName("StatClass") as Class).statMethod();
Код:
TypeError: Error #1006: statMethod не является функцией.
ps уточнил код в первом сообщении

Старый 20.10.2010, 18:30
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 20  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Покажите как Вы объявили statMethod.

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

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

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


 


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


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