2008-10-11 58 views
6

我是Flex SDK的新手,嘗試使用Doug Mccune's CoverFlow小部件實現一個簡單的項目。大部分關於如何做到這一點的文檔都假定使用Adobe的FlexBuilder產品,這是一個250美元的Eclipse插件,我寧願避免購買。我遇到的問題是簡單地獲取Doug的swc文件,這是他的組件庫的二進制版本,被Flex SDK項目編譯器mxmlc識別。我不斷收到錯誤消息,例如使用Flex SDK解析組件庫mxmlc

Error: Could not resolve to a component installation

Error: Type was not found or was not a compile-time constant: CoverFlow.

我也曾嘗試類型「VideoCoverFlow」我敢肯定,這些類型的道格的lib定義。唉,我一直在搞清楚我出錯的地方。

以下是我的mxml項目文件的全文,名爲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> 

我想用下面的命令來編譯:

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

我也曾嘗試移動CoverFlow_lib.swc文件到同一目錄的MXML文件,而不是使用源路徑論點,但這似乎沒有什麼區別。

我很樂意去RTFM,如果有人可以如此友善地指向我的方向適當的文檔。有相關的堆棧溢出問題herehere

謝謝!


更新:我已經改變了我的build命令如下:

mxmlc -library-path+=lib coverflow.mxml 

而且我也試過如下:

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

在同一目錄SWC文件作爲mxml文件。不過,我仍然遇到同樣的錯誤。

還有一個video here顯示我正在嘗試使用的庫,但在Flex Builder中。不幸的是,它沒有顯示如何使用mxmlc。

我也試過我的MXML剝離下來簡單,

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

    <local:VideoCoverFlow /> 

</mx:Application> 
+0

我從鏈接的站點下載了封面流程示例,並且它們不包含名爲VideoCoverFlow的類。有可能有人設置了一個清單,以便在flex中使用它們。您需要設置xmlns:local =「com.dougmccune.containers」,然後使用本地:VCoverFlowContainer – 2008-10-11 22:00:47

回答

1

如果它是一個SWC你不應該使用庫路徑,而不是源路徑和引用SWC?

0

我終於得到了我的項目建設。庫路徑的使用是解決方案的一部分,但我也不得不仔細看一下Doug Mccune庫的源代碼,以便我可以在我的mxml中使用正確的路徑信息和類型名稱。

獲勝的命令行是

mxmlc -library-path+=lib coverflow.mxml 

而且工作MXML是

<?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 

出於某種原因,如果我用我的id="coverflow"容器抱怨。我收到一個錯誤,說ID名稱和類型名稱不允許相同。如果任何人都可以向我解釋,我很想了解那裏發生了什麼。

再次感謝Simon和James的幫助。

+1

我認爲這是因爲您有一個名爲coverflow的xmlns,因此您使用兩個具有相同名稱的符號填充文件符號表。您不需要xmlns:coverflow或xmlns:local – 2008-10-11 22:04:30