Ich habe ein reines Action Script 3-Projekt, das ich mit dem Flex 4 SDK kompiliere. Ich habe ein Standard-Makefile, das automatisch compc, mxmlc und asdoc aufruft. Das Projekt kompiliert sauber und ohne Fehler oder Warnungen auf meinem Mac OS X 10.4 + Computer; Wenn er jedoch mit einem Mitarbeiter geteilt wird, der auf Windows XP entwickelt wurde (mit Cygwin installiert), erhält er eine sehr große Liste von "inkompatiblen Signatur" -Fehlern. Warum bekommt er diese Fehler? Die Signaturen scheinen nicht inkompatibel zu sein.Viele "inkompatible Signatur" -Fehler unter Windows, aber nicht unter Mac OS X mit Flex 4 Gumbo
HINWEIS: Die Signaturen in Frage sind "Original" und "Export", so benutzten:
public interface AbstractX { function original() : Object; function export() : Object }
public class ImportX implements AbstractX { public ImportX(obj : Object) { _loadedobj = obj; _exportobj = obj.export(); } public static function wrap(obj : Object) : AbstractX { var result : AbstractX = null; if (obj != null){ if (obj is AbstractX){ result = obj as AbstractX; }else if (obj.original() is AbstractX){ result = obj.original() as AbstractX; }else{ result = new ImportX(obj); } } return result; } public function original() : Object { return _loadedobj; } public function export() : Object { return _exportobj; } private var _loadedobj : Object = null; private var _exportobj : Object = null; }
public class X implements AbstractX { public function X() : void { //... } public function original() : Object { return this; } public function export() : Object { if (! _export){ _export = new ExportX(this); } return _export; } private var _export : Object = null; }
HINWEIS: Der obige Code ist ein Teil meiner Lösung zu How do I make an Action Script 3 class, used in two SWF files, resolve to the same class when one SWF dynamically loads the other?
Beitrag aktualisiert ... greetz – back2dos