У меня есть приложение AIR, написанное на html / javascript, и я хочу использовать функции печати Actionscript, но у меня нет опыта в ActionScript для AIR.
Где я могу разместить код Actionscript? Он входит в файл mxml или его нужно скомпилировать в приложение Flash. Куда мне его поместить и как включить в HTML-документ? Наконец, как мне вызвать функцию AS из Javascript?
===== обновление =====
Я знаю, что должен скомпилировать файл .mxml или .as в файл .swf, используя mxmlc, и в моем файле .as есть следующее:
package {
import mx.controls.Alert;
public class HelloWorld {
public function HelloWorld():void {
trace("Hello, world!");
}
}
}
Или, альтернативно, в файле .mxml:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
public function HelloWorld():void {
Alert.show("hello world!");
trace("Hello, world!");
}
]]>
</mx:Script>
</mx:Application>
Это компилируется нормально, но когда я включаю его в html-файл с помощью:
<script src="actionscript.swf" type="application/x-shockwave-flash"></script>
Я получаю следующую ошибку:
TypeError: Ошибка # 1009: Невозможно получить доступ к свойству или методу пустой ссылки на объект.
на mx.managers :: FocusManager / activ ()
на mx.managers :: SystemManager / activForm ()
на mx.managers :: SystemManager / activ ()
на mx.core :: Application / initManagers ()
на mx.core :: Application / initialize ()
в actionscript / initialize ()
на mx.managers :: SystemManager / http://www.adobe.com/2006/flex/mx/internal::childAdded()
на mx.managers :: SystemManager / initializeTopLevelWindow ()
на mx.managers :: SystemManager / http://www.adobe.com/2006/flex/mx/internal::docFrameHandler()
на mx.managers :: SystemManager / docFrameListener ()
Есть идеи, что это значит?