2008-10-11 31 views
6

Tôi mới sử dụng Flex SDK và cố gắng triển khai một dự án đơn giản bằng cách sử dụng tiện ích Doug Mccune's CoverFlow. Hầu hết tài liệu hướng dẫn về cách thực hiện điều này giả định rằng người dùng đang sử dụng sản phẩm FlexBuilder của Adobe, một trình cắm thêm Eclipse $ 250 mà tôi muốn tránh mua. Vấn đề tôi gặp phải đơn giản là lấy tập tin swc của Doug, đó là phiên bản nhị phân của thành phần lib của mình, được mxmlc, trình biên dịch dự án Flex SDK nhận diện. Tôi tiếp tục nhận được thông báo lỗi nhưGiải quyết các thành phần libs bằng Flex SDK mxmlc

Error: Could not resolve to a component installation

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

Tôi cũng đã thử các loại "VideoCoverFlow" như tôi khá chắc chắn rằng các loại được quy định trong lib của Doug. Than ôi, tôi bị mắc kẹt khi tìm ra nơi tôi đã đi sai.

Sau đây là toàn văn cho tệp dự án mxml của tôi, được gọi là 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> 

Tôi cố gắng để biên dịch nó với lệnh sau:

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

Tôi cũng đã cố gắng di chuyển file CoverFlow_lib.swc vào cùng một thư mục với file mxml thay vì sử dụng các nguồn đường lập luận, nhưng điều đó dường như không tạo nên sự khác biệt.

Tôi sẵn sàng đi RTFM nếu ai đó có thể tốt đến mức chỉ cho tôi theo hướng của các tài liệu thích hợp. Có các câu hỏi về Stack Overflow có liên quan herehere.

Cảm ơn bạn!


Cập nhật: Tôi đã thay đổi build lệnh của tôi như sau:

mxmlc -library-path+=lib coverflow.mxml 

Và tôi cũng thử như sau:

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

Với file SWC trong cùng một thư mục dưới dạng tệp mxml. Tuy nhiên, tôi vẫn nhận được các lỗi tương tự.

Ngoài ra còn có một video here hiển thị cùng một thư viện mà tôi đang cố gắng sử dụng, nhưng trong Flex Builder. Thật không may, nó không cho thấy cách sử dụng mxmlc.

Tôi cũng đã cố gắng tước xuống mxml của tôi chỉ đơn giản là,

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

    <local:VideoCoverFlow /> 

</mx:Application> 
+0

Tôi đã tải xuống các ví dụ về luồng bìa từ trang web bạn đã liên kết và chúng không bao gồm lớp có tên VideoCoverFlow. Rất có thể ai đó đã thiết lập bản kê khai để sử dụng chúng trong linh hoạt. bạn cần phải đặt xmlns: local = "com.dougmccune.containers" và sau đó sử dụng địa phương: VCoverFlowContainer –

Trả lời

9

Đây là link to the mxmlc command line tool docs from Adobedirect link to the command line options reference. Tôi cũng tìm thấy mxmlc -help list là một nơi tốt để bắt đầu.

Là một áp phích khác được đề xuất, bạn thực sự muốn sử dụng library-path để thêm đường dẫn vào thư mục chứa tệp swc.Sử dụng + = điều hành để đảm bảo bạn không ghi đè lên các giá trị trước

ví dụ)

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

Nếu nó là một SWC nên không được sử dụng thư viện-con đường chứ không phải là nguồn đường dẫn và tham khảo SWC?

0

tôi cuối cùng đã dự án của tôi để xây dựng. Việc sử dụng đường dẫn thư viện là một phần của giải pháp, nhưng tôi cũng phải xem xét kỹ hơn các nguồn của thư viện Doug Mccune để tôi có thể sử dụng thông tin đường dẫn chính xác và nhập tên trong mxml của mình.

Dòng lệnh chiến thắng là

mxmlc -library-path+=lib coverflow.mxml 

Và mxml làm việc là

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

Đối với một số lý do container của tôi than phiền nếu tôi sử dụng id="coverflow". Tôi gặp lỗi khi nói rằng tên id và tên loại không được phép giống nhau. Nếu bất cứ ai có thể giải thích điều đó với tôi, tôi rất muốn hiểu những gì đang xảy ra ở đó.

Cảm ơn bạn lần nữa vì đã giúp đỡ, Simon và James.

+1

Tôi nghĩ rằng đó là vì bạn có một xmlns có tên là coverflow nên bạn đang điền vào bảng biểu tượng tệp với hai biểu tượng có cùng tên. Bạn không cần xmlns: coverflow hoặc xmlns: local –

Các vấn đề liên quan