Я работаю над приложением AIR, которое использует собственное расширение для окон, разработанное для того же проекта. Приложение вызывает метод ANE с именем pingFunction
и передает ему строку, содержащую IP-адрес, где pingFunction
выполнит, верьте или нет, тест ping.
Приложение и его ANE отлично работают на Flash Builder, и даже после того, как оно было выпущено, оно продолжает работать на ПК для разработчиков. Проблема в том, что я пробовал на двух других компьютерах, и приложение выдает следующую ошибку:
ArgumentError: Error #3500: The extension context does not have a method with the name pingFunction.
at flash.external::ExtensionContext/_call()
at flash.external::ExtensionContext/call()
at com.mycompanyname.myappname::MyAppName/sendPing()[...
Вначале я подумал, что мне нужно было связать тот факт, что я использовал DLL, скомпилированную с использованием конфигурации Debug в Visual Studio вместо конфигурации Release, потому что я читал, что иногда в отладочной версии DLL могут использоваться внешние библиотеки DLL. , Итак, я изменил его и перестроил всю библиотеку как сборку релиза. К сожалению для меня, я все еще испытываю тот же результат.
Также я попытался изменить swf-version
приложения AIR и ANE для версии AIR SDK, которую я использую (14.0), и снова получаю ту же ошибку.
Компьютер разработчика работает под управлением Windows 8.1 и других, где приложение не работает, Windows 7 и Windows 7 с пакетом обновления 1 (SP1).
Есть идеи о том, почему это происходит? Будем очень благодарны за любые вопросы или комментарии, которые могут привести меня на правильный путь.
Ошибка # 3500 наступает, потому что у вас не установлена необходимая среда выполнения на этих машинах, что необходимо для выполнения любого кода C ++.
На вашей машине для разработки у вас установлена Visual Studio и, следовательно, у вас также есть msvcr.
Решение проблемы:
Установите msvcr, т.е. Microsoft Visual C ++ Redistribution — 2012, от Вот.
вам нужен msvcr везде, где вы хотите запустить любой скомпилированный код c ++.