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

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

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Ну а как решать? Если я сделаю ссылку на функцию без Delegate, то эта функция не увидит поля класса!

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

Регистрация: Sep 2002
Сообщений: 30,787
Где находятся m_selectedLayout и m_pPortal?

Старый 24.01.2008, 12:58
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 13  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Цитата:
Сообщение от __etc
Где находятся m_selectedLayout и m_pPortal?
Это поля этого же класса :
Код:
<...>
class com.<...>.SettingsBox extends VisibleComponent
{
<...>
	private var m_pPortal:Portal;
	private var m_selectedLayout:String;
<...>

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

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

Старый 24.01.2008, 13:11
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 15  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Когда я кладу инициацию в draw(), то портал m_pPortal виден!

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

Регистрация: Sep 2002
Сообщений: 30,787
Тогда дежурные гадалки в отпуске. Весь код не виден, поэтому кофейная гуща не поможет.
Используйте this везде, очень полезно, особенно при таких проблемах.

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Attention варнинг

Просто поправьте, если я что-то напишу не так:
Когда я пишу строку:
Код:
m_bOk.onPress = Delegate.create(this, onOkPress);
то у меня сразу же анализируется функция onOkPress, и куда-то там себе запоминается, типа кэшится. Пример:
Код:
private function onOkPress():Void {
	trace("onOkPress m_selectedLayout = "+m_selectedLayout);
	trace("onOkPress m_pPortal.init = "+m_pPortal.init);
	m_pPortal.init(m_selectedLayout);
	kill();
}
Во время инициации события onPress (первый кусок кода) переменная m_selectedLayout уже имеет значение, а m_pPortal - нет, она у меня линкуется позже (спец. функцией linkage(pPortal)). Но onPress на практике вызывается как раз после этой линковки (т.е. я могу нажать на кнопку Ок после полной инициации). А m_pPortal все равно не видит. Не пойму как выходить из этого положения. Выход есть конечно - переместить место инициализации onPress в ту функцию, которая выполняется после линковки, когда m_pPortal уже есть. Только вот m_selectedLayout все равно остается такой же как во время инициации.
Вообще это верно?

Старый 24.01.2008, 15:43
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 18  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну, как говорит __etc, поставте this перед m_pPortal.
Еще - потрейсить в for-in this в onOkPress - так хоть можно будет понять, на что там this показывает.
Но, опять же, я пока тут не увидел целого куска кода в котором бы наблюдалась описанная проблема =/
__________________
Hell is the possibility of sanity

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
я сразу попробовал с this, ессно это не помогло. как я могу выложить сюда весь этот проект-то? там уже более 20 классов.

Старый 24.01.2008, 20:52
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 20  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну так пути решения:
трейсить this. а вдруг он не там\нет такой переменной в нем.
попытаться воспроизвести в сокращенном виде то, что не получается. Весь проект и не нужно. нужно только то, что не работает, а должно.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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