2009-10-08 2 views
0

У меня есть один файл swf, в котором я использовал fscommand, чтобы получить окончательный вывод, когда кнопка отправки нажата в этом swf, Я загружаю этот SWF в SWFloader в flex3 .i нужно получить значение fscommand как предупреждение, как сначала получить это значение и отобразить как предупреждение.Получить Fscommand в Flex3

Заранее спасибо

+0

Я использую приложение для подачи воздуха в Flex3 – vineth

+0

, заменяемое более универсальными тэгами flex и actionscript-3. – Amarghosh

ответ

1

fscommand не может быть использовано для обмена данных между загруженным и содержащим СФБОМ.

От livedocs

FSCommand: Позволяет в SWF взаимодействовать с любой Flash Player или программой, содержащей Flash Player, файлов, таких как веб-браузер. Вы также можете использовать функцию fscommand() для передачи сообщений директору или Visual Basic, Visual C++ и другим программам, которые могут размещать элементы управления ActiveX.

Вы можете вызвать метод в загруженном swf ИЛИ получить доступ к его свойствам напрямую или использовать события или использовать локальное подключение для передачи данных между родительскими и загруженными SWF.

0

TECHNICALLY это осуществимо, но плохая идея. Вам нужно будет зарегистрировать обратный вызов, который будет называть дочерний swf (как правило, сделано с дочерней swf). Но вы рискуете большой головной болью, и вам придется больше полагаться на браузер, чем на другие варианты. Это также будет медленнее, чем решение AS.

Ты гораздо лучше (в таком порядке):

  1. Использование общей Singleton. Это позволяет полностью разделить два swf без какой-либо значительной координации между ними. Только реальная потенциальная проблема может возникнуть, если вы хотите, чтобы ребенок швейцарских франки, чтобы иметь свою собственные ApplicationDomain, но даже с этим, Есть обходные
  2. Использования событий. Это может сработать, если у вас есть дочерняя swf-отправка барботажа, событие без отмены, и есть event.target, записанный родительским swf . Однако, возможно, вам придется отрегулировать, чтобы избежать SecuritySandboxViolation.
  3. Использование локальных соединений. Двумя помехами для LocalConnections являются:
    • Вам необходимо будет постоянно генерировать уникальные имена подключений до , чтобы избежать ошибки, вызванной подключением двух LocalConnections к тому же каналу .
    • Локальные соединения имеют ограничения по пропускной способности, которые могут вызывать замедление, если имеется большой объем трафика или сообщения слишком велики.
  4. Использование прямых манипуляций, как loader.content.foo.bar.baz; Мне не нравится это решение, потому что его намного сложнее поддерживать.Это также хуже с точки зрения дизайна: вы хотите использовать инкапсуляцию в этой ситуации - эта техника активно работает против этого.
Смежные вопросы