Domanda

Esiste un modo per compilare un file binario da un progetto ActionScript 3 per stampare materiale stdout quando eseguito?

Da quello che ho capito, le persone hanno aggirato questa limitazione scrivendo hack che si basano su connessioni socket locali e app AIR che scrivono su file nel filesystem locale, ma praticamente è tutto: ovviamente non è possibile con Flash Player e runtime AIR di Adobe.

C'è qualche progetto (ad es.basato sul codice Tamarin) che sta tentando di implementare qualcosa che fornisca questo tipo di funzionalità?

È stato utile?

Soluzione

Con AIR su Linux, è facile scrivere su stdout, poiché il processo può vedere i propri descrittori di file come file in /dev.

Per stdout, apri /dev/fd/1 O /dev/stdout come un FileStream, quindi scrivilo.

Esempio:

var stdout : FileStream = new FileStream();
stdout.open(new File("/dev/fd/1"), FileMode.WRITE);
stdout.writeUTFBytes("test\n");
stdout.close();

Nota: Vedere questa risposta per la differenza tra writeUTF() E writeUTFBytes() - quest'ultimo eviterà un output confuso sullo stdout.

Altri suggerimenti

Come dici tu, non esiste un modo creato da Adobe per farlo, ma potresti avere più fortuna Zinco, è simile ad AIR ma fornisce una reale integrazione del sistema operativo delle applicazioni basate su Flash.Guarda però il Documenti API, dovrebbe esserci qualcosa lì.

Se utilizzi un Flash Player di debug, puoi fare in modo che il registro di Flash Player tracci i messaggi in un file sul tuo sistema.

Se desideri messaggi in tempo reale, puoi seguire il file.

Ulteriori informazioni:

http://blog.flexexamples.com/2007/08/26/debugging-flex-applications-with-mmcfg-and-flashlogtxt/

camere del microfono

mesh@adobe.com

Redtamarin sembra essere in grado di farlo (anche se è ancora agli inizi):

Contenuti di test.as:

import avmplus.System;
import redtamarin.version;

trace( "hello world" );
trace( "avmplus v" + System.getAvmplusVersion() );
trace( "redtamarin v" + redtamarin.version );

Sulla riga di comando:

$ ./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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top