Frage

Ich bin neu bei Flex SDK und versuche, ein einfaches Projekt mithilfe zu implementieren Doug McCunes Coverflow Widget. Der größte Teil der Dokumentation, wie dies zu tun ist, geht davon aus, dass man das FlexBuilder-Produkt von Adobe verwendet. Das Problem, das ich habe, ist einfach die SWC -Datei von Doug, die binäre Version seiner Komponente LIB, von MXMLC, dem Flex SDK -Projekt Compiler, erkannt zu werden. Ich erhalte immer wieder Fehlermeldungen wie z.

Fehler: konnte sich nicht auf eine Komponenteninstallation auflösen

und

Fehler: Der Typ wurde nicht gefunden oder war keine Kompilierungszeitkonstante: Coverflow.

Ich habe auch den Typ "VideoCoverflow" ausprobiert, da ich ziemlich sicher bin, dass diese Typen in Dougs Bibliothek definiert sind. Leider bin ich festgefahren, um herauszufinden, wo ich falsch gelaufen bin.

Das Folgende ist der vollständige Text für meine MXML -Projektdatei mit dem Namen Coverflow.mxml.

<?xml version="1.0" encoding="utf-8"?>

<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:local="*"
    height="100%"
    width="100%"
    layout="absolute">

    <local:CoverFlow
        id="CoverFlow"
        horizontalCenter="0"
        verticalCenter="0"
        borderThickness="10"
        borderColor="#FFFFFF"
        width="100%"/>

</mx:Application>

Ich versuche es mit dem folgenden Befehl zu kompilieren:

c:\flex_sdk_3\bin\mxmlc.exe -compiler.source-path=lib coverflow.mxml

Ich habe auch versucht, die Datei coverflow_lib.swc in dieselbe Dire wie die MXML-Datei zu verschieben, anstatt das Argument für den Quell-Pfad zu verwenden, aber das scheint keinen Unterschied zu machen.

Ich würde gerne RTFM gehen, wenn jemand so freundlich sein könnte, mich in die Richtung der richtigen Dokumente zu weisen. Es gibt verwandte Stapelüberlauffragen hier und hier.

Vielen Dank!


Aktualisieren: Ich habe meinen Build -Befehl in Folgendes geändert:

mxmlc -library-path+=lib coverflow.mxml

Und ich habe auch Folgendes ausprobiert:

mxmlc -library-path+=CoverFlow_lib.swc coverflow.mxml

Mit der SWC -Datei in derselben Dire wie die MXML -Datei. Ich bekomme jedoch immer noch die gleichen Fehler.

Es gibt auch ein Video hier Zeigen Sie dieselbe Bibliothek, die ich verwenden möchte, aber im Flex Builder. Leider wird nicht angezeigt, wie MXMLC verwendet wird.

Ich habe auch versucht, meine MXML einfach zu entfernen, um einfach zu sein,

<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:local="*" >

    <local:VideoCoverFlow />

</mx:Application>
War es hilfreich?

Lösung

Hier ist ein Link zu den MXMLC -Befehlszeilen -Tool -Dokumenten von Adobe und ein Direkter Link zur Befehlszeilenoptionsreferenz. Ich finde auch mxmlc -help list ein guter Ort sein, um anzufangen.

Wie ein weiteres Poster empfohlen hat, möchten Sie wirklich verwenden library-path So fügen Sie den Pfad dem Verzeichnis hinzu, der die SWC -Datei enthält. Verwenden Sie den += Operator, um sicherzustellen, dass Sie die vorherigen Werte nicht überschreiben

z.B)

c:\flex_sdk_3\bin\mxmlc.exe -library-path+=lib coverflow.mxml

Andere Tipps

Wenn es sich um einen SWC handelt, sollten Sie nicht den Bibliotheksweg verwenden, anstatt Quellenpfaden zu verwenden und auf den SWC zu verweisen?

Ich habe endlich mein Projekt zu bauen. Die Verwendung des Bibliotheks-Pfads war Teil der Lösung, aber ich musste mich auch die Quellen der Doug McCune-Bibliothek genauer ansehen, damit ich die richtigen Pfadinformationen und die Namen in meinem MXML verwenden konnte.

Die Gewinnerbrandzeile ist

mxmlc -library-path+=lib coverflow.mxml

Und das funktionierende MXML ist

<?xml version="1.0" encoding="utf-8"?>

<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:coverflow="com.dougmccune.coverflow.*"
    xmlns:containers="com.dougmccune.containers.*"
    xmlns:local="*" >

    <containers:CoverFlowContainer id="flow" />

</mx:Application

Aus irgendeinem Grund beschwert sich mein Container, wenn ich benutze id="coverflow". Ich erhalte einen Fehler, der besagt, dass der ID -Name und der Typname nicht gleich sein dürfen. Wenn mir das jemand erklären kann, würde ich gerne verstehen, was dort los ist.

Nochmals vielen Dank für die Hilfe, Simon und James.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top