هل هناك أي طريقة لطباعة مشروع ActionScript 3 (Flex/AIR) على الإخراج القياسي؟

StackOverflow https://stackoverflow.com/questions/38651

سؤال

هل هناك أي طريقة لتجميع ملف ثنائي من عناصر طباعة مشروع ActionScript 3 إليه com.stdout عندما أعدم؟

مما جمعته، كان الناس يلتفون حول هذا القيد من خلال كتابة اختراقات تعتمد على اتصالات المقبس المحلي وتطبيقات AIR التي تكتب إلى الملفات الموجودة في نظام الملفات المحلي، ولكن هذا هو الحال إلى حد كبير - من الواضح أنه غير ممكن مع Flash Player وأوقات تشغيل AIR من Adobe.

هل هناك أي مشروع (على سبيل المثال؟استنادًا إلى كود Tamarin) الذي يحاول تنفيذ شيء من شأنه أن يوفر هذا النوع من الوظائف؟

هل كانت مفيدة؟

المحلول

مع AIR على Linux، من السهل الكتابة إلى stdout، حيث يمكن للعملية رؤية واصفات الملفات الخاصة بها كملفات في /dev.

بالنسبة إلى stdout، افتح /dev/fd/1 أو /dev/stdout ك FileStream, ، ثم اكتب لذلك.

مثال:

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

ملحوظة: يرى هذه الإجابة للفرق بين writeUTF() و writeUTFBytes() - هذا الأخير سوف يتجنب الإخراج المشوه على stdout.

نصائح أخرى

كما قلت، لا توجد طريقة تم إنشاؤها بواسطة Adobe للقيام بذلك، ولكن قد يكون حظك أفضل الزنك, ، وهو مشابه لـ AIR ولكنه يوفر تكاملًا حقيقيًا لنظام التشغيل مع التطبيقات المستندة إلى Flash.انظر على الرغم من مستندات API, ، يجب أن يكون هناك شيء هناك.

إذا كنت تستخدم برنامج Flash Player لتصحيح الأخطاء، فيمكنك جعل سجل Flash Player يتتبع الرسائل إلى ملف على نظامك.

إذا كنت تريد رسائل في الوقت الفعلي، فيمكنك ذيل الملف.

مزيد من المعلومات:

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

غرف مايك

Mesh@adobe.com

ريدتامارين يبدو أنه قادر على القيام بذلك (على الرغم من أنه لا يزال في بداياته):

محتويات ال test.as:

import avmplus.System;
import redtamarin.version;

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

في سطر الأوامر:

$ ./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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top