Pregunta

Soy nuevo en Flex SDK e intento implementar un proyecto simple usando widget CoverFlow de Doug Mccune . La mayor parte de la documentación sobre cómo hacer esto supone que uno está usando el producto FlexBuilder de Adobe, que es un complemento Eclipse de $ 250 que preferiría evitar comprar. El problema que tengo es simplemente obtener el archivo swc de Doug, que es la versión binaria de su lib componente, para ser reconocido por mxmlc, el compilador del proyecto Flex SDK. Sigo recibiendo mensajes de error como

  

Error: no se pudo resolver la instalación de un componente

y

  

Error: no se encontró el tipo o no era una constante de tiempo de compilación: CoverFlow.

También probé el tipo " VideoCoverFlow " ya que estoy bastante seguro de que estos tipos están definidos en la biblioteca de Doug. Por desgracia, estoy atascado en averiguar dónde me he equivocado.

El siguiente es el texto completo de mi archivo de proyecto mxml, llamado 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>

Estoy intentando compilarlo con el siguiente comando:

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

También he intentado mover el archivo CoverFlow_lib.swc al mismo directorio que el archivo mxml en lugar de usar el argumento de ruta de origen, pero eso no parece hacer la diferencia.

Con mucho gusto iría a RTFM si alguien pudiera ser tan amable como para señalarme en la dirección de los documentos adecuados. Hay preguntas relacionadas sobre el desbordamiento de pila aquí y here .

¡Gracias!


Actualización : he cambiado mi comando de compilación a lo siguiente:

mxmlc -library-path+=lib coverflow.mxml

Y también probé lo siguiente:

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

Con el archivo swc en el mismo directorio que el archivo mxml. Sin embargo, sigo recibiendo los mismos errores.

También hay un video aquí que muestra la misma biblioteca que yo ' Estoy tratando de usar, pero en Flex Builder. Desafortunadamente, no muestra cómo usar mxmlc.

También he intentado eliminar mi mxml simplemente,

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

    <local:VideoCoverFlow />

</mx:Application>
¿Fue útil?

Solución

Aquí hay un enlace a la herramienta de línea de comandos mxmlc documentos de Adobe y un enlace directo a la referencia de opciones de línea de comandos. También encuentro que mxmlc -help list es un buen lugar para comenzar.

Como se recomienda otro póster, realmente desea utilizar library-path para agregar la ruta al directorio que contiene el archivo swc. Use el operador + = para asegurarse de no sobrescribir los valores anteriores

por ejemplo)

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

Otros consejos

Si se trata de un swc, ¿no debería utilizar la ruta de biblioteca en lugar de la ruta de origen y hacer referencia al swc?

Finalmente conseguí construir mi proyecto. El uso de library-path fue parte de la solución, pero también tuve que mirar más de cerca las fuentes de la biblioteca Doug Mccune para poder usar la información de ruta correcta y escribir los nombres en mi mxml.

La línea de comando ganadora es

mxmlc -library-path+=lib coverflow.mxml

Y el mxml de trabajo es

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

Por alguna razón, mi contenedor se queja si uso id = " coverflow " . Recibo un error que dice que el nombre de identificación y el nombre del tipo no pueden ser iguales. Si alguien me puede explicar eso, me encantaría entender lo que está sucediendo allí.

Gracias de nuevo por la ayuda, Simon y James.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top