Eine Möglichkeit zu haben, eine ActionScript-3 (Flex/AIR) Projekt-print auf der standard-Ausgabe?
-
09-06-2019 - |
Frage
Gibt es eine Möglichkeit zu haben, eine binäre zusammengestellt von einem ActionScript 3-Projekt drucken Zeug stdout wenn Sie ausgeführt?
Von dem, was ich gesammelt habe, die Menschen haben zu gehen, um diese Einschränkung durch das schreiben von hacks, die verlassen sich auf lokale socket-verbindungen und AIR-apps, die schreiben in Dateien in das lokale Dateisystem, aber das ist ziemlich viel-es ist offensichtlich nicht möglich mit die Flash Player-und AIR-Laufzeitumgebungen von Adobe.
Gibt es irgendein Projekt (z.B.basierend auf den Tamarin code), die versucht, etwas umzusetzen, das diese Art von Funktionalität?
Lösung
Mit AIR auf Linux, es ist einfach zu schreiben auf stdout aus, da der Prozess kann seine eigenen Datei-Deskriptoren, die als Dateien in /dev.
Für stdout open /dev/fd/1
oder /dev/stdout
als FileStream
, dann schreiben.
Beispiel:
var stdout : FileStream = new FileStream();
stdout.open(new File("/dev/fd/1"), FileMode.WRITE);
stdout.writeUTFBytes("test\n");
stdout.close();
Hinweis: Finden diese Antwort für die Differenz zwischen writeUTF()
und writeUTFBytes()
- die letztere vermeiden Sie eine fehlerhafte Ausgabe auf stdout.
Andere Tipps
Wenn Sie eine debug Flash Player können Sie Flash-Player-log-trace-Meldungen in einer Datei auf Ihrem system.
Wenn Sie möchten, Echtzeit-Nachrichten, dann könntest du Schwanz die Datei.
Mehr info:
http://blog.flexexamples.com/2007/08/26/debugging-flex-applications-with-mmcfg-and-flashlogtxt/
mike Kammern
mesh@adobe.com
Redtamarin scheint in der Lage sein, dies zu tun (obwohl es immer noch in den Kinderschuhen):
Inhalt test.as
:
import avmplus.System;
import redtamarin.version;
trace( "hello world" );
trace( "avmplus v" + System.getAvmplusVersion() );
trace( "redtamarin v" + redtamarin.version );
Auf der Kommandozeile:
$ ./buildEXE.sh test.as
test.abc, 243 bytes written
test.exe, 2191963 bytes written
test.abc, 243 bytes written
test.exe, 2178811 bytes written
$ ./test
hello world
avmplus v1.0 cyclone (redshell)
redtamarin v0.1.0.92