2010-10-29 3 views
1

Я получил файл swf (AS3), который работает, когда вы передаете переменные через flashvars. Я не могу перекомпилировать его для работы по-другому, потому что мы только купили скомпилированный swf, а не источник.flashvars issue

Мы можем использовать его на HTML-странице, но проблема в том, что мы должны использовать его (в виде проприетарной) формы Windows (в основном, приложение, которое принимает путь и отображает изображение, видео или swf в форма).

Теперь: мы не можем передать swf vars, добавив их к пути, и мы не можем перекомпилировать swf. Есть ли другой способ передать две переменные в swf, чтобы заставить ее работать? Мы думали, что у нас может быть еще один swf с жестко закодированными переменными, загружающими проприетарный swf, чтобы этот последний читал их после загрузки, но, к сожалению, он не работает. Есть идеи? Проблема патентованные швейцарские франки ждут переменные через:

LoaderInfo(this.root.loaderInfo).parameters['varName'] 

EDIT 1: я сделал еще одну вещь. Я загрузил swf из другого swf и передал переменные через URLVariables(). Это не работает: компилятор говорит, что не может найти этот путь (выдает ошибку ввода-вывода).

EDIT 2: Я не знаю, безопасен ли он, но, похоже, он работает так, как я сказал в «EDIT 1». Я думал, что swf не может скомпилировать, но, похоже, это не слишком беспокоило ошибки # 2044 и # 2035, брошенные компилятором.

Я бы сказал [РЕШЕНО], но если у вас есть какие-либо комментарии, я был бы рад их прочесть.

ответ

0

Вы пытались помещать переменные в строку url/query? Я не уверен, что переменные являются безопасными или должны быть, но это должно сделать это.

+0

Параметр URL-адреса не будет взаимодействовать со вспышкой, если вы не передадите его во флэш-параметры. – Amalgovinus

+0

Да, я знаю. Но вы можете передать переменную через строку запроса. Это то, что я подразумевал, а не то, что вам не нужно было использовать класс LoaderInfo ... – TNC

0

Исходя из строго типизированных языков, это дул мне в голову, но если вы объявляете переменную в Flashvars, вам не нужно сделать следующее:

var flashVar = LoaderInfo(this.root.loaderInfo).parameters.flashVar; 

Вы не должны объявлять FlashVar на самом деле, потому что он был объявлен как параметр уже. Вы можете просто ссылаться на flashVar этого имени, не требуется декларация. Этот язык кажется мне глупым.

Смежные вопросы