регистрация функции как обратного вызова на flash с использованием события creationComplete завершилась неудачей в linux - PullRequest
1 голос
/ 13 января 2011

Я создал проект flex на Flash Builder 4. В MXML у меня есть

 xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init();"

И чтобы проверить, работает ли он

<![CDATA[
            private function init():void
            {
                ExternalInterface.addCallback("Submit", submit);
                txtFirstName.text = "fkjkdshf";
                //txtFirstName.text = ExternalInterface.available.toString();
            }

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

Когда я открываю файл с помощью Firefox в Windows, становится ясно, что событие приняло меры -> значение текстового поля изменяется.

Когда я открываю файл в Firefox наLINUX, текстовое значение не изменяется, поэтому событие creationComplete не было выполнено.

Моя цель - установить

ExternalInterface.addCallback("Submit", submit);

, чтобы я мог вызвать это из приложения Qt.

Я проверил, и на обеих платформах используется один и тот же Flash Player.

Это похоже на ошибку в Linux Flash Plugin.

Как я могу это преодолеть и зарегистрировать «Отправить»?

Ответы [ 2 ]

1 голос
/ 13 января 2011

Обработчик события должен быть applicationComplete , а не creationComplete.

0 голосов
/ 04 мая 2011

Ошибка была, насколько я помню, в

ExternalInterface.addCallback("Submit", submit);

Настройки безопасности ведут себя по-разному в Win и Linux.На моей платформе Linux мне пришлось настроить Flash на доверие к SWF-файлу и внешнему исполняемому файлу, используя ' Панель глобальных настроек безопасности '

. Обратите внимание, что этот инструмент довольно прикольный - флеш, который вы видитена этой странице фактически контролировать настройки безопасности на вашем компьютере.Также «Всегда разрешать» в этой опции инструмента не работал.

...