Flex: выяснить, когда был запущен работающий SWF?

Есть ли в гибком приложении, чтобы выяснить (во время выполнения), когда был запущен работающий SWF?

Я хотел бы сравнить это с последней версией файла SWF на сервере и определить, есть ли на сервере более новая версия, и если это так, вынудить пользователя перезагрузить свой браузер, чтобы получить новую версию.

Мне это нужно также для работы с SWF из кеша.

10.12.2008 20:37:08
1 ОТВЕТ
РЕШЕНИЕ

Что я обычно делаю, чтобы убедиться, что пользователь получает последнюю версию файла Flash (поскольку в кэшировании содержимого Flash есть что-то странное), так это использование серверного скрипта для добавления времени, когда файл был изменен.

Я также экспериментировал с установкой переменных в SWF, хотя это требует некоторой хитрости командной строки и не будет практичным, если вы не используете скрипт сборки.

В основном вы добавляете это к вашему вызову mxmlc:

-define+=BUILD::DATE,"2008-12-10"

Тогда переменная BUILD :: DATE будет доступна во время вашей сборки, так что вы можете использовать ее для установки статической переменной, которую вы позже прочитаете:

private static var COMPILEDATE:String = DATE;

(Я написал все это из памяти, так что это может быть не на 100% правильно синтаксически)

6
11.12.2008 08:42:53
но нужно ли обновлять значение DATE вручную? Можно ли настроить Flash IDE или Eclipse для автоматического обновления?
Andy Li 22.10.2009 15:46:11
к сожалению нет, вам придется сделать это самостоятельно.
grapefrukt 23.10.2009 07:03:12