> I've got something like
> creationCompleteHandler:
> var sysTrayIcon:SystemTrayIcon =
> NativeApplication.nativeApplication.icon as
> SystemTrayIcon;
> sysTrayIcon.addEventListener(MouseEvent.CLICK,undock);
>
> undock:
> if (!stage.nativeWindow.visible){
> stage.nativeWindow.visible = true;
> stage.nativeWindow.activate();
>
> }else{
> stage.nativeWindow.visible=false;
> }
> and it works here to show/hide the main application window.
>
> Where are you assigning the event handler, and why are you using the
funny
> inline function syntax ?
> If you stop it in the debugger, what is the bit that is actually null ?
>
> --
> Tom Chiverton
Thank Tom very much. In my country, few days ago is Lunar new year so
I don't work and reply :(
Your solution is very good if the event handler in MXML file. I
correct my code follow you and have good result.
But I have only special case, the event handler in AS class
My code in main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication
<mx:Script>
...
</mx:Script>
<!--Call AS class -->
<com:SysTrayApp>
</com:SysTrayApp>
</mx:WindowedApplication>
and code in systrayapp.as file
package com
{
import flash.desktop.DockIcon;
import flash.desktop.NativeApplication;
import flash.desktop.SystemTrayIcon;
import flash.display.Loader;
....
public class SysTrayApp extends Sprite
{
public function SysTrayApp():void{
NativeApplication.nativeApplication.autoExit = false;
var icon:Loader = new Loader();
var iconMenu:NativeMenu = new NativeMenu();
var showCommand:NativeMenuItem = iconMenu.addItem(new
NativeMenuItem("Show"));
showCommand.addEventListener(Event.SELECT,
function(event:Event):void {
NativeApplication.nativeApplication.activeWindow.stage.nativeWindow.visible
= true;
});
............
}
So the error display when I click "show" menuitem in taskbar
TypeError: Error #1009: Cannot access a property or method of a null
object reference.
In debug mode the error at line
"NativeApplication.nativeApplication.activeWindow.stage.nativeWindow.visible
= true; "
how to solve it?