2009-05-12 16 views
1

Wir haben versucht, ASDocs für ein Flex 3-Bibliotheksprojekt zu kompilieren. Unser Problem ist, dass ASDocs jede benutzerdefinierte mxml-Komponente, die in der Bibliothek erstellt und verwendet wird, nicht erkennt.Flex 3 ASDocs-Bibliothek Problem

Zum Beispiel, wenn wir ein benutzerdefiniertes mxml AdvancedButton Steuerelement in unserer Bibliothek haben, und wir versuchen, es in einer anderen mxml-Klasse innerhalb der Bibliothek zu verwenden, Fehler ASDocs Compiler in der übergeordneten Klassendatei mit "Fehler: Typ war nicht gefunden oder war keine Kompilierzeitkonstante: AdvancedButton ".

Ein Fehler tritt auch auf, wenn wir versuchen, unsere benutzerdefinierte Komponente zu erweitern. Wenn also unsere Bibliothek AdvancedButton, das Button erweitert, und ExtraAdvancedButton, das AdvancedButton erweitert, enthält, kann ASDocs "AdvancedButton der angegebenen Basisklasse für die Komponentenklasse ExtraAdvancedButton nicht finden".

Auf der anderen Seite, wenn AdvancedButton von einer externen Bibliothek referenziert wird, erhalten wir keine Fehler.

Dies scheint kein Problem zu sein, wenn die Dateien .as, nicht .mxml sind. In unserem Fall haben wir jedoch deprimierte Komponenten verschachtelt.

Ideen würden sehr geschätzt werden.

Antwort

0

Verwenden Sie den Parameter -library-path von asdoc?
Aber warten Sie, Sie sagten, dass Sie keine Fehler bekommen, wenn es von einer externen Bibliothek referenziert wird - also benutzen Sie den Bibliothekspfad schon, oder?

Flex 3 ASDoc dokumentiert mxml überhaupt nicht. Also könntest du Flex 4 SDK bekommen und mit dem ACDOC versuchen, das damit kommt.

2

Ich hatte in letzter Zeit das gleiche Problem. Der Trick für mich war, den Sourcecode-Pfad "src" den asdoc-Compiler-Argumenten hinzuzufügen.

Hier ist der ASDoc Befehl, der für mich gearbeitet:

c:\work\prg\Flex>"c:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.3.0\bin\asdoc.exe" -doc-sources "src" -main-title "PRG documentation" -output "c:\work\prg\Flex\docs" -source-path "c:\work\XmlMappingAS3\src" -source-path "assets\css" -source-path "c:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.3.0\frameworks\projects\framework\src" -source-path "c:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.3.0\frameworks\projects\rpc\src" -external-library-path "c:\work\commonLibraries\Flex\as3commons-reflect-1.0.0.swc" -external-library-path "c:\work\commonLibraries\Flex\Cairngorm.swc" -external-library-path "c:\work\commonLibraries\Flex\spring-actionscript.swc" -external-library-path "c:\work\commonLibraries\Flex\xpath-as3-1.0.0.swc" -external-library-path "c:\work\commonLibraries\Flex\as3corelib.swc" -external-library-path "c:\work\commonLibraries\Flex\as3reflect.swc" -source-path "src" 

auch eine große Hilfe, um den FlashDevelop Actionscript-Dokumentation Generator zu verwenden wäre (das heißt, in der Tat, was ich gebraucht). Wenn Sie FlashDevelop in einer Windows-Umgebung in "c: \ Programme \ FlashDevelop" installieren, befindet sich der Dokumentationsgenerator unter "c: \ Programme \ FlashDevelop \ Tools \ asdocgen \ ASDocGen.exe".

Viel Glück!

2

Ich habe einige Stunden damit verbracht, ASDocs für mein Flex-Projekt zu generieren, und bekam immer wieder Fehler, weil ich nicht in der Lage war, die Basisklasse x/y/z zu finden. Am Ende fand ich es war, weil ich nicht ASDoc die Position der Flex SWC-Dateien zu sagen:

(For me) C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.4.0\frameworks\libs 

Fügen Sie diesen Weg in einem zusätzlichen -library-path Argument und Sie sollten es stoppt Fehler über nicht finden, Basisklassen finden .

Das klingt ähnlich wie das ursprüngliche Problem, das oben beschrieben wird, die Links fehlt, wo diese benutzerdefinierten Komponenten sitzen. Stellen Sie sicher, dass das Basisverzeichnis enthalten ist, das diese benutzerdefinierten Komponenten .as Dateien enthält