PDA

Просмотр полной версии : Глобальные переменные в многооконном приложении


tarasf31
23.07.2008, 14:46
Здравствуйте!
У меня возникла проблема. Нужно хранить некоторые системние параметры глобально для всего приложения. Причем надо их динамически обновлять (через сессии PHP), что занимает время и параметры не успевают обновится.
Есть мысль блокировать ВСЁ ОКНО приложения пока не загрузятся все данные, но это надо делать в одном месте, а для этого нужно объявить параметры в одном месте в начале приложения ГЛОБАЛЬНО.
Задача в сдедующем. Делаю авторизацию пользователей и их данные записываю в сессию PHP. Но когда считываю, то в обьекте данные еще не обновляются. Для объекна написал функцию update(), но она спасает лишь частично.

Может ктото может помочь с этой проблемой?
Заранее благодарен.

geron3
24.07.2008, 08:31
Для глобальных переменных можно создать статический класс с нужными свойствами.
А вообще не нужно блокировать приложение, данные обновляй динамически, можно например сделать индикатор загрузки, см. как у меня www.suvenirika.ru.
А данные на формах обновляй по мере поступления таковых.

tarasf31
24.07.2008, 14:49
Спасибо за ответ! Клас (правда не статический) создан и работает. Проблемма была в другом:знанить системные параметры в виде объекта и иметь к нему доступ со всего приложения. Проблема решена с помощью ссылок на объект

А можете подсказать как сделать такой индикаор загрузки, как у Вас?

geron3
24.07.2008, 16:07
Наверное можно сделать круто, но я не умею. Это просто компонент который мигает по таймеру, делаем его видимым когда отправляем запрос и невидимым когда запрос приходит.

tarasf31
24.07.2008, 16:24
:) Я тоже подумал о таком решении. Но думаю проще поставить гифку или что то похожее. Так можно избежать таймера.

geron3
24.07.2008, 16:52
согласен, но для меня это пока не приоритет, поэтому не думал об этом.

Bruiser
28.07.2008, 15:30
Гифки нельзя во флеши просматривать, не будет анимированной картинки.
Используйте компонент ProgressBar.

JesterAntik
28.07.2008, 18:30
можно сделать любой индикатор во Flashе и подгружать его через SWFLoader.