Is it possible to do a #define in Adobe Flex?

2019-04-28 06:10发布

I'm looking for a way to do something similar to a c/c++ #define in adobe flex.

I'd like to have lots of different paths a project build can take depending on wither or not something was defined. Does such a thing exist in flex?

I know there is ways to set global variables but that wont really suit my purpose. being able to have structures with numerous #ifndefined and such is really what i'm in need of.

thanks!

2条回答
来,给爷笑一个
2楼-- · 2019-04-28 06:39

Just to keep this info here, it is possible to use the C Pre-Processor (CPP) with AS3 if you want to. It provides more powerful features than the ones built into MXMLC, if you need them. Example:

http://osflash.org/flex2cpp

查看更多
3楼-- · 2019-04-28 06:41

Actually MXMLC (the compiler in the Flex SDK) does support some limited preprocessor features. You can use them to pass in constant values, or to simulate #ifdef / #ifndef type functionality.

Check out this documentation

Example 1:

This code only gets executed if the -define=CONFIG::debugging,true flag is passed to the compiler:

CONFIG::debugging {
    // Execute debugging code here.
}

Example 2:

Change the color of the button depending on if you defined 'CONFIG::release' or 'CONFIG::debugging'

// compilers/MyButton.as
package  {
    import mx.controls.Button;

    CONFIG::debugging
    public class MyButton extends Button {    
        public function MyButton() {
            super();
            // Set the label text to blue.
            setStyle("color", 0x0000FF);
        }
    }

    CONFIG::release
    public class MyButton extends Button {    
        public function MyButton() {
            super();
            // Set the label text to red.
            setStyle("color", 0xFF0000);
        }
    }
}
查看更多
登录 后发表回答