Просмотр полной версии : Embed image Error
elder_Nosferatu
24.08.2014, 06:51
Салют!
Решил не ваять целую свц-либу ради теста и впервые потрогал мета-тег Embed для внедрения картинки.
12 ...
13 [Embed(source="../assets/tile.png")]
14 public static const datPNG:Class;
15
16 public function Test() {
17 var bitmap:Bitmap = new datPNG() as Bitmap;
18 addChild(bitmap);
19 }
И вот беда:
Output:
[Fault] exception, information=ReferenceError: Error #1065: Variable FlexVersion is not defined.
Stack:
flash.system::ApplicationDomain / hasDefinition
mx.core::BitmapAsset at E:\dev\4.y\frameworks\projects\framework\src\mx\core\BitmapAsset.as:136
Test_datPNG
Test at D:\000\Test\src\Test.as:17
Main/init at D:\000\Test\src\Main.as:20
Main at D:\000\Test\src\Main.as:13
Правда после этого битмапа все же отображается на сцене, но сам факт возникновения ошибки меня не радует. Есть идеи что это и как с этим жить?
ЗЫ: если что, то в настройках проекта указано:
Platform : Flash Player 11.4
SDK : Flex 4.6.0, Air 14.0
подключи ещё core.swc из flex/air sdk
elder_Nosferatu
25.08.2014, 23:26
подключи ещё core.swc из flex/air sdk
Нашел его вот здесь:
c:\
Documents and Settings\
Admin\
Local Settings\
Application Data\
FlashDevelop\
Apps\
flexairsdk\
4.6.0+14.0.0\
frameworks\
libs\
core.swc
Но куда его подключать я так и не просек. Попробовал прямо в проект засунуть, как свою либу - не помогло.
caseyryan
26.08.2014, 07:25
О какой IDE речь?
elder_Nosferatu
26.08.2014, 09:31
@caseyryan
FlashDevelop 4.6.2.5 for .NET 2.0
caseyryan
26.08.2014, 10:20
Тогда чтобы библиотеку подключить, достаточно ее положить в какую-то директорию в проекте, потом правой кнопкой по ней и add to library
Но вообще, очень странно, что она такую фигню выдала. Как у вас флекс подключен?
И еще одно, чтобы путь к картинке был точно правильным, рекомендую доверить эмбэд самой флешдевелоп. Для этого ставим курсор в то место, куда нужно разместить тег Embed, потом правой кнопкой по картинке - Generate Embed Code
elder_Nosferatu
26.08.2014, 11:01
...чтобы библиотеку подключить, достаточно ее положить в какую-то директорию в проекте, потом правой кнопкой по ней и add to library
Это первое, что я попробовал. Не помогло...
...Как у вас флекс подключен?
Свежая версия была установлена автоматически при установке FlashDevelop меньше месяца назад.
...чтобы путь к картинке был точно правильным, рекомендую доверить эмбэд самой флешдевелоп.
Я уже пользовался тегом Embed, но только для внедрения текстовых файлов. Так что с этим я справился по Вашему рецепту. Но и сейчас эта операция не вызывает никаких проблем. А вот картинку я могу внедрить только с mimeType="application/octet-stream". Как я понимаю, внедряя ее, как битмапу, я задействую mx.core::BitmapAsset и получаю "Variable FlexVersion is not defined."
С англоязычным гуглом у меня проблемы, но я не мог не заметить, что на буржуйских форумах часто нарекают на свежый Flex SDK в связке с FDT. В ответ топик стартеры узнают, что flex.swc был переименован в core.swc и все проблемы из этого вытекают. Но установка Flex SDK 3.6A и Flex SDK 4.5A никак не повлияли на проблему.
ЗЫ: Уже начинаю подозревать сам FlashDevelop 4.6.2.5. После установки не нашел папки [lib] в новых проектах. Зато появилась "виртуальная" папка [References]. В нее, как оказалось, попадают подключенные внешние библиотеки (после "Add Classpath..."). Но у меня ничего из этого не вышло. Пришлось нужные библиотеки копировать в папку [src]. Нужно было еще тогда заподозрить неладное, но... я оптимист :)
Читай Adobe Help, а не выёжывайся!!!
elder_Nosferatu
26.08.2014, 22:07
Читай Adobe Help, а не выёжывайся!!!
Это ты к тому, что у них по идее должны быть рецепты от всех болезней или ты действительно встречал чтото боле конкретное по моей проблеме? Если сможешь поделиться ссылкой (более конкретной, чем help.adobe.com), то буду очень благодарен. В противном же случае скажу спасибо хоть за то, что не даешь умереть моей теме. Может кто и найдется с более конструктивными и конкретными предложениями.
caseyryan
26.08.2014, 22:38
elder_Nosferatu, скиньте пример проекта, в котором это происходит. Проверю у себя
elder_Nosferatu
26.08.2014, 23:09
31107 - вот мой печальный тест...
caseyryan
27.08.2014, 09:59
Проблема явно не в проекте. У меня сразу собралось все без проблем.
Скорее всего флекс как-то не правильно подключен
elder_Nosferatu
27.08.2014, 10:48
Даже не знаю как его еще подключать можно. Сохранил да прописал путь...
Лады. Спасибо за участие. Буду переустанавливать FlashDevelop. Надеюсь сработает.
caseyryan
27.08.2014, 10:56
Может лучше для начала сам флекс другой скачать?
elder_Nosferatu
27.08.2014, 13:21
Я писал, что уже пробовал ставить версии 3.6А и 4.5А. Изменений ноль :( Ну и сразу, чтобы не возникало дополнительных вопросов, скажу, что после установки других сдк, я их выбирал перед компиляцией.
caseyryan
27.08.2014, 13:58
А флеш плеер сам? Можно тоже скачать отдельный отладчик. Для чистоты эксперимента
Та же проблема с моим FlashDevelop
Система Win10 64bit
Flex 4.6.0, AIR 15,0
FlashDevelop 4.6.4.1 for .NET 2.0
Я пробовал разные Flex версии
и даже пытался использовать flashplayer16_debugsa_win_32.exe
новая установка FlashDevelop тоже не помогало
Я использую Release большую часть времени
Но результат тот же с Debug
Building Prototype 4
mxmlc -load-config+=obj\Prototype4Config.xml -debug=true -incremental=true -swf-version=20 -o obj\Prototype4635569482091080022
Starting java as: C:\Progra~2\Java\jre6\bin\java.exe -Xmx384m -Dsun.io.useCanonCaches=false -Duser.language=en -Duser.region=US -Dapplication.home="C:\Users\Anon\AppData\Local\FlashDevelop\Apps\flexairsdk\4.6.0+15.0.0" -Dflexlib="C:\Users\Anon\AppData\Local\FlashDevelop\Apps\flexairsdk\4.6.0+15.0.0\frameworks" -jar "C:\Users\Anon\AppData\Local\FlashDevelop\Apps\flexairsdk\4.6.0+15.0.0\lib\fcsh.jar"
INITIALIZING: Adobe Flex Compiler SHell
[Fault] exception, information=ReferenceError: Error #1065: Variable FlexVersion is not defined.
at flash.system::ApplicationDomain/hasDefinition()
at mx.core::BitmapAsset()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\BitmapAsset.as:136]
открой obj\Prototype4Config.xml
и подключи явно в ноде compiler
<library-path>
<path-element>C:\Users\Anon\AppData\Local\FlashDevelop\Apps\flexairsdk\4.6.0+15.0.0\frameworks\libs</path-element>
<path-element>C:\Users\Anon\AppData\Local\FlashDevelop\Apps\flexairsdk\4.6.0+15.0.0\frameworks\libs\mx</path-element>
</library-path>
возможно что-то в переменных среды в системе, открой посмотри и ищи какой нибудь кривой путь, или что-то с настройками java потому как из flexsdk flex-config.xml пути прописаны относительные, загляни в C:\Users\Anon\AppData\Local\FlashDevelop\Apps\flexairsdk\4.6.0+15.0.0\frameworks посмотри что там все либы есть. перенеси вконце концов папку 4.6.0+15.0.0 куда-то в другое место и переименуй например C:\flexsdk\4.6.0
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.