close air app, where is it? - actionscript-3

Seems System.exit(0) and flash.system.System.exit(0) both throw the error "[Fault] exception, information=SecurityError: Error #2018: System.exit is only available in the standalone Flash Player."
I'm creating a fullscreen app and im simply want to add a close button that will close all windows and exit (i have a secondary window via NativeWindow open). Tons and tons of googling any nothing. Makes me wonder if im missing something super simple since all "chromless" apps would have to have this.
Poking around I found stage.NativeWindow but closing that does not exit the whole app.
*note I am building and testing in flashdevlop 4.0 with pure as3, no flex.

NativeApplication.nativeApplication.exit();
When in doubt, check the docs! :)
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativeApplication.html#exit()

Related

LibGDX: Gwt logging not working in my project

Don't worry, I'm not asking you to fix all my bugs, I just wanted to know common causes for gwt/html logging to not work.
Here is my project:
https://github.com/vedi0boy/Archipelo
I cannot get logging to work at all in html. I used this code in a brand new LibGDX project and it worked (inside the main class):
#Override
public void create () {
Gdx.App.setLogLevel(Application.LOG_DEBUG);
Gdx.app.log("Test", "Test log message.";
}
I just don't get it. Is there something common that could be making basic html/gwt functions not work? My libgdx is update to 1.9.2. I can't seem to figure out why it works on a new project but not mine.
What should I do? Should I attempt to copy all the code to a new project? Thanks.
P.S. I am also unable to use a networking library that I need, and it also works on a brand new project.
The solution was simple. I made a while loop that did not continue until a connection to the server was established. Since javascript is single threaded, it got caught in an infinite loop.
The reason this has to do with logging is because LibGDX only loads up the log box when create is finished being run and my infinite loop was in create so it never got around to rendering the logs.
Lesson: Don't treat JavaScript as a multi-threaded language when using GWT, because it isn't.
You don't need to copy all your code to a new project, if you have doubts about your LIBGDX version you can update your corruent project to a recent V of libgdx,
use the build.gradle like follow :
gdxVersion = "1.5.2" // your gdx version here
for more info read this topic in the official WIKI

MessageChannel class is inaccessable

I am trying to create a MessageChannel between two workers in a Flash project, but when I attempt to debug or publish I get an error stating "VerifyError: Error #1014: Class flash.system::MessageChannel could not be found.". I am using Flash Pro, and, as far as I know, have correctly added and selected Flash Player 11.4 as a publishing target. Does anyone know what could be causing this error?
Finally figured out the issue - I was unaware that the debugger needed to be updated separately. Since the debugger has been updated, everything seems to be working properly.

In a webapp GUI builder throws error message

I have a very complex user interface constructed using the GUI builder.
All was working as promised until I added 8 more severside functions to the code.
In the GUI Builder (when I try to attach these new functions to mouse up, The GUI Builder announces "An Unexpected Error occured" in a pink stripe across the top of the script editor.
When I clear the error, the project appears to be OK and I can save and run the application.
If I go to any previously object that triggers a server side handler and attempt to change it I get the same error.
It is my suspicion that the failure happens when the GUI builder tries to load the list of available functions from the code source. My code is running upwards of 50 Gscript functions.
If there are some limits on what the GUI Builder can handle it would be really nice to have those documented. Also a more meaningful error message would be nice.
I assume that I can still add/attach these handlers in the code base (outside of GUI Builder)?
This error message comes up when you try to getElementById using an Id that doesn't exist. Please check all the widget Ids in your GUI.I'm pretty sure your issue is not related to some systemic limitation, I've made some complex UIs with the GUI builder without issue.
you d better use a full scripted apps instead of GUI..I gave up with GUI since there is some strange stuff..as ID managment, name managment, radio button (bug as well in normal scripting..^^)..GUI is a black box for me..just try to make your app with vertical horizontal or xy panel...and you will be able to know who do wa and when... with the logger

Active Desktop Website to Open Programs?

I have always thought that replacing the normal windows desktop icons with an "active desktop" html page which can launch my programs, as well as open directories and files through links. This would be a really cool way to customize one's desktop.
Using the "file://" protocal was my first approach but this does not work correctly. In another SO Post I found this link but its a little over my head. Is this the correct approach?
I can't imagine that I am the first one to consider this; it seems like a good idea (no?). What do you all think?
I like the idea of active desktop for a desktop customization. What you can do is register your own schema
Add a Registry entry.
Here is the first example I worked with.
Add This to a .reg file and Import into the registry.
Change "myschema" and the location of the executable to match your own needs
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\myschema]
#="URL:My Schema Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\myschema\DefaultIcon]
#="C:\\Program Files\\MySchemaProgram\\MySchema.exe,1"
[HKEY_CLASSES_ROOT\myschema\shell]
[HKEY_CLASSES_ROOT\myschema\shell\open]
[HKEY_CLASSES_ROOT\myschema\shell\open\command]
#="\"C:\\Program Files\\MySchemaProgram\\MySchema.exe\" \"%1\""
Now if you create a hyperlink
<a href="myschema://Whatever+i+want" >Click Here</a>
Your computer will open your MySchema Application with the href in the command line.
just be mindful because Ervironment.CommandLine will be UTF Decoded therefore
//This Link
Click Here
//Will Result in This Command Line Execution.
"C:\Program Files\MySchemaProgram\MySchema.exe" myschema://Something Here
You can also use this schema in the ShellExecute commands as well as the Run Dialog.
Here is the example program I used to get started with. You should be able to get the idea pretty quick
using System;
using System.Collections.Generic;
using System.Text;
namespace Alert
{
class Program
{
static string ProcessInput(string s)
{
// TODO Verify and validate the input
// string as appropriate for your application.
return s;
}
static void Main(string[] args)
{
Console.WriteLine("Alert.exe invoked with the following parameters.\r\n");
Console.WriteLine("Raw command-line: \n\t" + Environment.CommandLine);
Console.WriteLine("\n\nArguments:\n");
foreach (string s in args)
{
Console.WriteLine("\t" + ProcessInput(s));
}
Console.WriteLine("\nPress any key to continue...");
Console.ReadKey();
}
}
}
best of luck with your application. I would be eager to see it when it is complete.
EDIT: I am adding some matching strings for this as it is a cool feature and more people may want to use this technique for something they wanted to do.. These are the things i looked for it under, (unsuccessfully) Let me know if anyone thinks of any more.
custom url/uri handler
custom schema program
registry web address program
handle web link
launch app from url
I've looked into what you've asked a while back and never found anything that worked well.
Ultimately if the goal is full customization of your desktop, I think you can get a similar result by researching something like this: http://rainmeter.net/RainCMS/ and http://kaelri.deviantart.com/art/Enigma-103823591 Lifehacker has tons of links/tutorials on how to get it all running. I was able to get a desktop running that far exceeded my goals with using HTML on the desktop.
One way I got some really interesting results (though I haven't tried it for years and can't confirm right now that it still works on a modern OS and modern flash player) was to use an active desktop page running a flash swf file that contained a user interface I had created and (at the time I was using it) could launch programs from within the swf.
I ran a setup in a cyber cafe where each desktop was controlled via active desktop running a flash app. Launching and shutdown operations were handled with a mini webserver written in python. The OS was XP.
My experience was that Active Desktop is unreliable. It leaks memory terribly and regularly crashes. They might have fixed it in later versions but since hardly anyway uses it I doubt much effort has gone into fixing its obvious flakiness.

How to make Flashdevelop errors appear in Results Panel?

I am using Flashdevelop to build an Actionscript 3.0 game. It was originally a FlashIDE project but I decided to migrate the project to FlashDevelop. I also changed some asset and property names, as a result there were a lot of syntax error. The errors keep coming out in the Output Panel instead of Results Panel (is that normal) when compiled. I know that when I click errors in the Results Panel it will open and point the error in the Code Panel. I can't do that with errors in the Output Panel (I assume its normal). Is there something I can do to make the errors clickable ?
Even a simple error like this doesnt come out in the Results panel:
Loading configuration file H:\04 Noveline\03 GD\GD03\Folder (aaaa)\TEST\obj\MeccatomedinaConfig.xml
H:\FD(1)\TEST\src\Game.as(75): col: 3 Error: Access of undefined property sssss.
sssss
^
Build halted with errors (fcsh).
(fcsh)
afaik it's impossible to make output panel clickable. but you can press F10 to open program settings dialog and check if your results panel is disabled. and also disable output panel if it's really annoying)
The errors should appear in the results panel and the output panel. Make sure the results panel is open.
Remove parentheses from project path to workaround the issue.
(As Stucko & Markus von Broady wrote in comments.)
This issue is still around for FlashDevelop 5.1.1.1.
I have logged the issue here for ref:
https://github.com/fdorg/flashdevelop/issues/1676