Schonmal probiert die Macromedia Flash MX V.2 Components oder einfach nur eine WebService Klasse aus dem mx.service.* Namensraum mit MTASC zu kompilieren? Jeder der das versucht bekommt stets lustige Fehlermeldungen, weil die MM-Klassen, wie jeder weiß, einfach sehr unsauber programmiert sind.
In dem Beitrag über die Remoting Klassen und MTASC hatte ich ja schonmal erwähnt, dass es dafür einen Patch auf osFlash gibt.
Der Grund warum man im Internet nirgends “gesäuberte” Klassen von MM findet liegt daran, dass wenn man die Klassen in veränderter Form online stellen würde, die Macromedia Flash License Agreement verletzten würde. Und mit MM alias Adobe will sich glaube ich kaum einer anlegen… Also gibt es nur Patches, mit denen man die Sache selber beheben muss.
Da die Ausführung des Patchs leider ziemlich tricky ist, schreibe ich hier mal ne kurze deutsche Anleitung zur Ausführung:
1) Falls noch nicht geschehen erstmal die Macromedia Flash Remoting MX Components installieren, um die komplette Klassenbibliothek auf seinem Rechner zu habe (wie schon erwähnt, die sind auch ordentlich fehlerhaft).
2) Nun brauch man erstmal ein Patching Tool. Für Windows-Benutzer nimmt man Patch for Windows von der GnuWin32 Seite. Eine Installationsanleitung gibt es hier: http://gnuwin32.sourceforge.net/install.html
Im Endeffekt lädt man aber einfach den Installer runter und haut ihn sich irgendwo auf die Platte. Wichtig ist nur, dass man sich für später merkt wo er liegt.
3) Nun lädt man sich die 3 Patches herunter:
- CORE 7 provides patches for Flash MX 2004 (Flash 7) core classes
- CORE 8 provides patches for Flash 8 core classes.
- MX provides patches for MX package which is used to create both Flash 7 and Flash 8 applications and movies.
Die dementsprechenden Links entnehmt am besten der Tabelle im mittleren Teil:
4) Jetzt mach man sich noch eine Sicherungskopie der originalen Flash Source Files und entpackt anschließend die Patches neben den jeweiligen Ordner, die gepatcht werden soll.

5) Und jetzt kommt der komplexere Teil – das Patchen:
- Unter Start/Ausführen gehen wir in den cmd

- Nun geben wir den Pfad ein, in dem unsere zu patchenden Dateien liegen – einfach cd + die Adresszeile aus dem Windows Explorer kopieren und dann im cmd wieder einfügen (Tipp: mit STRG + C geht es nicht – Rechtsklick/Einfügen aber schon) – Beispiel “cd C:\Dokumente und Einstellungen\MeinProfil\~\MacromediaClasses
- Von dort aus rufen wir jetzt die patch.exe mit den entsprechenden Argumenten auf unserer Festplatte auf. Die liegt in dem Installationsverzeichnis von GnuWin32 im Ordner bin:
- für core7 patch: “patch –u –p3 –d ./FP7 < core7.patch"
für core8 patch: “patch –u –p3 –d ./FP8 < core8.patch"
für mx patch: “patch –u –p3 –d . < mx.patch" - patch wird dabei durch den Pfad zur patch.exe ersetzt – komplettes Beispiel sieht dann ca. so aus “C:\Programme\GnuWin32\bin\patch.exe –u –p3 –d ./FP7 < core7.patch"
- Danach wird der Patch ausgeführt und die einzelnen Klassen in sauberer Form überschrieben
- Beachten: Copy&Paste kann manchmal nicht funktionieren, dann einfach per Hand die Befehle schreiben
Wenn man das dann für die einzelnen Packages gemacht hat, ist man auch schon fertig – und das Leiden hat ein Ende!!!
Basiert auf dem Original von Igor Sadovskiy auf http://osflash.org/mx_v2_components_patch#use_patched_sources
Kommentar schreiben