2009-06-30 11 views
0

Ich habe eine Flash-Komponente, die nur eine Bibliothek von kompiliertem Code mit einigen ungeschützten API-Aufrufe ist. Normalerweise verteilen wir dies als SWC oder MXP, und es funktioniert gut. Kürzlich hatte ich einen Kunden, der Interesse an der Verwendung meiner Komponente hatte, aber sie entwickeln ihre gesamte Entwicklung nur in MTASC. MTASC unterstützt keine SWC-Dateien, also gibt es eine gute Möglichkeit, vorkompilierten Code zu senden, der in MTASC funktionieren würde? Ich kann ihnen den ursprünglichen Quellcode nicht senden, aber wenn es eine andere Methode gibt, würde ich es begrüßen. Ich habe Zugriff auf die Quelle, also kann ich es wie immer neu kompilieren. Vielen Dank!Wie verteilt man eine Flash-Komponente zur Verwendung mit MTASC?

+0

Ich habe Ihre Frage über Google gefunden und mich gefragt, ob Sie eine Lösung gefunden haben, da ich gerade ein Problem mit einer SWC und MTASC habe. Ich sehe, dass niemand auf StackOverflow eine Antwort hatte. Vielen Dank. – wpjmurray

Antwort

0

Ich habe eine Antwort gefunden, und ich bin nicht 100% sicher, ob dies genau der Prozess ist, da ich nicht mehr bei diesem Job bin und den Computer/Prozess nicht mehr vor mir habe. Es war ein bisschen wie ein Hack.

Es ging im Grunde genommen darum, die SWC-Datei zu entpacken und eine .swf-Datei und eine Reihe von .asi-Dateien zu entfernen.

Die .asi-Dateien sind eigentlich nur ActionScript-Dateien, aber sie enthalten inhärente Definitionen oder nur Prototypen oder Fußabdrücke von tatsächlich vorhandenem. Das echte Fleisch davon ist immer noch in der .swf.

Sie benennen alle diese ASI-Dateien in .as um und fügen sie in Ihren MTASC-Klassenpfad ein. Da sie Definitionen enthalten, sollten Sie während der Kompilierung keine Fehler mehr "undefinierte Variable" oder "undefinierte Funktion" erhalten. Jetzt müssen Sie nur die SWF-Datei einfügen, in der die tatsächlichen Funktionskörper mit loadMovie definiert sind. Sobald der loadMovie abgeschlossen ist, sollten Sie alle Funktionen verwenden können.

Der einzige Vorbehalt ist natürlich, dass Sie warten müssen, dass SWF geladen wird, bevor Sie eine der Funktionen aus der SWC aufrufen.

so Schritt-für-Schritt, es sieht aus wie diese:

1.) die SWC-Datei entpacken. Dies kann mit WinZip oder OS X-Terminal entpacken Befehl 2.) Umbenennen ASI-Dateien in .as 3.) neue .AS-Dateien zu MTASC Classpath 4.) hinzufügen AS-Code zu laden. SWF in und machen sicher, dass keiner der SWC-Funktionen vor dem SWF aufgerufen werden geladen 5.) kompilieren

ich bin mir ziemlich sicher, das ist, was wir taten, aber ich bin in einem Ort nicht es jetzt auszuprobieren.,

Hoffe, dass dies hilft, lassen Sie mich wissen, wenn Sie weitere Fragen haben, und ich werde sehen, ob ich helfen kann, es herauszufinden, mehr.