2010-10-29 7 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 этого имени, не требуется декларация. Этот язык кажется мне глупым.